G Summary of Available Functions (Non-Normative)

G.1 Function Classification

The functions available for use within an XSLT stylesheet can be classified based firstly, on where the function is defined, and secondly, on where it can be used. Specifically, the set of functions available is slightly different for :

The categories are listed in the following table:

Categories of Function, and their Availability
Category Defined where? Available where? Notes
User-defined functions Defined using xsl:function declarations in the stylesheet R, D Functions are private by default; private functions can be referenced only within the package where they are declared (and not in xsl:evaluate expressions).
Constructor functions for built-in types Section 17 Constructor functions FO30 R, S, D These functions are all in the namespace conventionally associated with the prefix xs. The semantics of a constructor function are identical to the semantics of a cast expression.
Constructor functions for user-defined types Section 17 Constructor functions FO30 R, D (if schema-aware="yes") This category includes a function for every named user-defined simple type in an imported schema; the function allows the conversion of strings and certain other values to instances of the user-defined type.
Functions defined in XPath 3.0 [Functions and Operators 3.0] R, S, D Includes functions in the namespaces conventionally referred to be the prefixes fn and math.
Additional functions defined in XPath 3.1 (where supported) [Functions and Operators 3.1] R, S, D. This category has an overlap with the set of XSLT-defined-functions. Where a function is defined both in this document and in XPath 3.1, the function is available in an XSLT 3.0 stylesheet whether or not the processor supports XPath 3.1. This category includes functions in namespaces conventionally referred to by the prefixes fn, map, and array.
Functions defined in XSLT 3.0 This specification R, S (see note), D See G.2 List of XSLT-defined functions. There is an overlap with the set of functions defined in XPath 3.1. The functions available in static expressions are: element-available, function-available, type-available, available-system-properties, and system-property.
Extension functions Implementation-defined: see 24.1 Extension Functions. R, S, D Availability is implementation-defined

G.2 List of XSLT-defined functions

This appendix acts as an index of functions defined in this specification, to augment the set of functions defined in [Functions and Operators 3.0].

accumulator-after
See 18.2.7 fn:accumulator-after
accumulator-before
See 18.2.6 fn:accumulator-before
available-system-properties
See 20.4.5 fn:available-system-properties
collation-key
See 21.2.12 fn:collation-key
copy-of
See 18.3 fn:copy-of
current
See 20.4.1 fn:current
current-group
See 14.2.1 fn:current-group
current-grouping-key
See 14.2.2 fn:current-grouping-key
current-merge-group
See 15.6.1 fn:current-merge-group
current-merge-key
See 15.6.2 fn:current-merge-key
current-output-uri
See 25.3.1 fn:current-output-uri
document
See 20.1 fn:document
element-available
See 24.2.2 fn:element-available
function-available
See 24.1.1 fn:function-available
json-to-xml
See 22.3 fn:json-to-xml
key
See 20.2.2 fn:key
map:contains
See 21.2.5 map:contains
map:entry
See 21.2.8 map:entry
map:find
See 21.2.11 map:find
map:for-each
See 21.2.10 map:for-each
map:get
See 21.2.6 map:get
map:keys
See 21.2.4 map:keys
map:merge
See 21.2.2 map:merge
map:put
See 21.2.7 map:put
map:remove
See 21.2.9 map:remove
map:size
See 21.2.3 map:size
regex-group
See 17.2 fn:regex-group
snapshot
See 18.4 fn:snapshot
stream-available
See 18.1.3 fn:stream-available
system-property
See 20.4.4 fn:system-property
type-available
See 24.1.4 fn:type-available
unparsed-entity-public-id
See 20.4.3 fn:unparsed-entity-public-id
unparsed-entity-uri
See 20.4.2 fn:unparsed-entity-uri
xml-to-json
See 22.4 fn:xml-to-json