Extension functions
This section describes extension functions built in to the Saxon product. For information on writing your own extension functions, see Writing extension functions (Java) or Writing extension functions (.NET)
Full details of all extension functions, along with functions in the core library, are found in the Function Library.
The extension functions in Saxon fall into three groups, described in the following subsections:
-
Saxon extension functions defined by Saxonica and provided in the Saxon namespace
http://saxon.sf.net/
-
EXSLT extensions defined by the EXSLT initiative, using namespaces in the
http://exslt.org/...
family -
EXPath extensions defined by the EXPath initiative, using namespaces in the
http://expath.org/...
family
There are two further groups of functions that deserve mention:
-
The mathematical and trigonometric functions in namespace
http://www.w3.org/2005/xpath-functions/math
. These functions (for examplesin
,cos
, andsqrt
) are defined in the XPath 3.0 specification, though they are available in Saxon whether or not 3.0 syntax is enabled. They require at least Saxon-PE. For details see the Function Library. -
The functions for handling maps, defined in the draft XSLT 3.0 specification. Saxon currently implements these in the namespace
http://www.w3.org/2005/xpath-functions/map
. They are available not only in XSLT, but also in XPath and XQuery. The functions do not require 3.0 syntax to be enabled, but new syntax associated with maps (the constructor syntax and the type designator) do require this. For details see the Function Library.