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. Saxon 10 provided some Saxon-specific 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. Some of these extensions have found their way into a Saxonica-led proposal for an XSLT 4.0 specification, which is still at an early stage of development.

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. Although the specification requires a conformant processor to provide a mode of operation that is restricted to XPath 3.0, this feature is no longer offered in Saxon.

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: