XSLT 2.0 implementation
A schema-aware transformation can now be requested using the new
-sa option on the command
net.sf.saxon.Transform, as an alternative to using the command
The initial context node supplied as input to a transformation is no longer required to be part of
a document (for example, it can be a parentless element). There are some API changes to the
class as a consequence of this change: in particular, the methods
setPrincipalSourceDocument are deprecated and replaced by methods to get or set the
The evaluation of XSLT attribute value templates is now notified to the TraceListener. The standard TraceListener ignores this notification, but a user-written TraceListener can take action on it.
xsl:namespace-alias, checking and reporting of the error conditions XTSE0810,
XTSE0812, and XTSE0815 has been improved.
xsl:namespace-alias declaration now allows use of
#default in either
result-prefix attributes to refer to the null namespace
if no default namespace has been declared. This change was made by the working group to restore
backwards compatibility with the interpretation of the XSLT 1.0 specification adopted by some processors
(including Saxon and MSXML).
format-number() function now outputs NaN without any prefix or suffix. (W3C change,
see W3C Bugzilla 2712).
Alphanumeric collations are now supported. In such a collation, any sequence of consecutive digits is treated
as a number and is sorted numerically. For example, by specifying
xsl:sort element, a collating sequence is used in which "iso8859" sorts before "iso10646".
saxon:collation declaration has been enhanced to allow additional properties of the
collation to be specified:
ignore-width. These properties are
also available as query parameters in collation URIs.
When copying elements or attributes using
xsl:copy-of, or when copying attributes using
xsl:copy, Saxon now reports an error if the copy asks for type annotations to be retained when
the content is namespace-sensitive (QName or NOTATION values), unless namespaces are also copied.
Error XTTE0950 is reported when this error occurs.
XSLT input supplied using a JAXP TransformerHandler is now schema-validated if the Configuration is set up to request schema-validation of source documents.
href attribute of
xsl:import contains a fragment
identifier, this is now stripped from the URI before calling the
URIResolver is now responsible
for locating the document containing the referenced stylesheet module, while Saxon itself then locates the
xsl:stylesheet element within that document using the fragment identifer as an ID value. There
should be no change in behaviour if the default
URIResolver is used.