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 has filled the last remaining gaps (for example, full support of the item-separator serialization property, and the xsl:try/@rollback option).

XSLT 3.0 features are available in all Saxon editions. Saxon-HE includes basic conformance, serialization, XSLT 1.0 compatability mode, and XPath 3.1. Saxon-PE and Saxon-EE add 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 was not available in Saxon 9.8, but has been added in Saxon 9.9. It suppresses most of the XPath syntax that was newly added in XPath 3.1, but does not necessarily inhibit all the new XPath 3.1 functions.

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: