XSLT 3.0 and 4.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.

XSLT 4.0 features are available in Saxon-PE and Saxon-EE when enabled (for details, see Enabling 4.0 features). The Saxon 13 release aims to conform to the 4.0 draft specifications dated 28 January 2026. Many of the 4.0 extensions were also available experimentally in earlier versions of Saxon.

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: