Functions, operators, and data types for XPath 3.0
The current state of implementation of all standard functions is now documented here.
The new function fn:analyze-string() is implemented.
The higher-order functions map(), filter(), fold-left(), fold-right(), and
map-pairs() are implemented.
The functions head() and tail() are implemented.
The functions pi(), sqrt(), sin(), cos(), tan(),
asin(), acos(), and atan() are implemented - note that these are in the namespace
http://www.w3.org/2005/xpath-functions/math. Unlike the other new functions, these are available whenever
Saxon-PE or Saxon-EE are in use, regardless of whether XQuery 3.0 or XPath 3.0 are enabled - this is conformant because
they are in a namespace to which the 1.0/2.0 specifications attach no restrictions.
The single-argument version of string-join() is implemented.
The two-argument version of round() is implemented.
The zero-argument forms of data(), node-name(), and document-uri() are implemented.
The new format-integer() function is implemented.
The new regular expression flag "q" is recognized. This causes all characters in the regex to be treated as ordinary characters, for example "." will match a single period, rather than matching any character. This is only recognized when XPath 3.0 or XQuery 3.0 is enabled.
Non-capturing groups are recognized, with the syntax (?:aaaa) where aaaa is any regular expression.