Saxon extensions to the W3C XSLT/XQuery specifications
Extension Functions
In the representation of schema information delivered by the saxon:schema() extension function, enumeration facets are now exposed using a new "typed-value" property which is an array of sequences (each sequence being one of the enumeration values). An array of sequences is needed to cater for list types, where each enumeration value can be a sequence. The existing "value" property is retained; this delivers a sequence of strings, where each value in the enumeration is reduced to a string.
Extension Attributes
The xsl:source-document instruction
supports two Saxon extension attributes: saxon:line-numbering
(values
yes|true|1
or no|false|0
) to enable line numbering for the document being read,
and saxon:strip-space
(values #all
(strips all whitespace text nodes), #none
(no whitespace stripping),
#ignorable
(strips
whitespace in elements declared as having element-only content), and #default
(follows the rules in
xsl:strip-space
/xsl:preserve-space
declarations)).
Extension attributes in the Saxon namespace (for example, saxon:asynchronous
) may now be written
as shadow attributes evaluated using static expressions (for example,
saxon:_asynchronous="{$ASYCH}"
).
A new extension attribute saxon:trace = (boolean)
has been added to the xsl:mode declaration. It causes tracing of all template rules executed in the
mode, showing the nodes selected by xsl:apply-templates
and the rules used to process them.