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:

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.