XSLT 3.0 Support

Saxon 9.8 and later releases implement the XSLT 3.0 Recommendation dated 8 June 2017. Implementation in 9.8 was almost complete, and 9.9 filled the last remaining gaps (for example, full support of the item-separator serialization property, and the xsl:try/@rollback option). Saxon 10 provides some extensions that have been found necessary to take full advantage of the new capabilities in XSLT 3.0, for example making it easier to transform JSON documents.

XSLT 3.0 features are available in all Saxon editions. Saxon-HE includes basic conformance, serialization, XSLT 1.0 compatability mode, XPath 3.1 support, dynamic evaluation, and higher-order functions. Schema-awareness and streaming require Saxon-EE.

The XSLT 3.0 specification gives processors the option of supporting XPath 3.0 (plus maps), or XPath 3.1. Saxon supports XPath 3.1. The specification requires the processor to provide a mode of operation that is restricted to XPath 3.0; this is no longer available in Saxon 10.

For further details of the features implemented in the current Saxon release, and the Saxon editions in which they are available see XSLT 3.0 Conformance. Full details of these features are in the W3C XSLT and XPath specifications; but further summary information about many of them can be found in the relevant sections of the Saxon documentation listed below: