This chapter describes all the standard functions included in the XSLT 2.0 and XPath 2.0 specifications for use in XPath expressions. Most of these functions are defined in the W3C specification XPath 2.0 and XQuery 1.0 Functions and Operators, and these should be available in all XPath 2.0 implementations. Others, marked as XSLT-only, are defined in the XSLT 2.0 specification, and are available only in XPath expressions used within an XSLT stylesheet.
For each function, I give its name, a brief description of its purpose, a list of the arguments it expects and the value it returns, the formal rules defining what the function does, and finally usage advice and examples.
These are not the only functions you can call from an XPath expression:
So-called constructor functions are available, corresponding to built-in and user-defined atomic types. For example, there is a function called
xs:float() to create values of type
xs:float, xs:date() to create values of type
xs:date, and so on. These functions are also available for user-defined atomic types. They are described in Chapter 11.
User-defined functions can be created using the XSLT
<xsl:function> declaration; these functions are available for calling from XPath expressions in the stylesheet.
Vendor-defined functions may be available. These will be in a namespace controlled by the vendor of the particular product.