XSLT 2.0 implementation

If the third argument of the key() function is specified, the function now returns only nodes that are in the subtree rooted at that node. Previously it returned all nodes in the same document as the node specified in the third argument. This represents a change recently agreed to the XSLT 2.0 specification.

The input-type-annotations attribute on the xsl:stylesheet element is implemented.

The undeclare-namespaces attribute of xsl:output and xsl:result-document is renamed undeclare-prefixes.

The use-character-maps attribute is now supported on xsl:result-document.

The collation attribute of xsl:sort can now be an attribute value template.

The default format for the minutes and seconds components of the time in the format-time() function is now "01" rather than "1": that is, a leading zero is included by default.

Representation of ordinal numbers in dates output by format-date() can now be localized (through a new method in the Numberer interface).

The xsl:result-document instruction now enforces the rule that a transformation cannot write two result trees to the same URI.

There is no longer an upper limit on the size of numbers that can be formatted using <xsl:number> with format token "1".

Error XT0275 is now detected: using xsl:strip-space on an element defined in the schema to have simple content.