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.