Chapter 13. The Function Library

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.

  • It may be possible to call functions written in external languages such as Java, JavaScript, ...

Get XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.