Functions, operators, and data types for XPath 2.0
I have made the following changes to the function library:
sum()functions now ork on any sequence, and new functions
lower-case(). These use the rules defined by the Java default locale
- Added properties "product-name" and "product-version" to
key()so that the second argument can be any sequence; each member of the sequence is converted to a string and treated as a potential key value
document()so that the first argument can be any sequence; each member of the sequence can be a URI of a document to be loaded.
node-set()function in the EXSLT common module is now a no-op; the object-type() function returns one of "sequence", "boolean", "number", "string", or "external".
lowest()in the EXSLT
mathmodule to work on arbitrary sequences.
not3()(three-valued not() function)
saxon:for-all(): these are superseded by the
everyconstructs in XPath 2.0
- Added the
compare()function: the third argument (collation) is initially mandatory, and must be a QName matching a
base-uri()function replacing the undocumented
- Added constructor functions as described in the XPath Functions and Operators specification:
some of them don't do much yet, but
float()is the only way of creating a single-precision floating point number.
In general, features of XSLT 2.0 and XPath 2.0 not listed above have not been implemented. In particular, these include:
- Backwards compatibility mode in XSLT
- Uniform handling of the empty sequence by functions and operators in XPath expressions
- XPath constructs related to types, for example