Functions, operators, and data types for XPath 3.1
The full set of functions for manipulating arrays has been implemented.
The single-argument forms of fn:tokenize() and fn:trace() have been implemented.
The functions fn:json-doc() and fn:xml-to-json() have been implemented, and the implementations of fn:json-to-xml() and fn:parse-json() updated in line with the XPath 3.1 specification. The implementation of fn:serialize() has been updated, which includes using the JSON ouput method.
A number of other new functions have been implemented:
- fn:apply()
 - fn:contains-token()
 - fn:default-language()
 - fn:load-xquery-module()
 - fn:parse-ietf-date()
 - fn:random-number-generator()
 - fn:sort()
 - fn:transform()
 
New functions in XPath 3.1 have been updated in line with specification changes.
The function map:new(), which has been removed from the specification and
            replaced by map:merge(), has
            been dropped from the implementation.
The function fn:string-join now accepts any sequence of atomic values
        in its first argument: for example the result of fn:string-join(1 to 5) is
        "1 2 3 4 5". Because of internal constraints, Saxon has implemented this
        change regardless of the requested XPath version.