Saxon is an implementation of XSLT, XQuery, XPath, and XSD. In supports the latest W3C standards including XSLT 3.0, XQuery 3.1, XPath 3.1, and XSD 1.1. There are versions for Java, .NET, and C, in both open source and commercial editions. The latest addition to the product set is Saxon-JS, an XSLT runtime which will run in most browsers.
Saxon is a processor for the W3C languages XSLT
, XPath
, XQuery
and XSD
(XML Schema). It was originally created by Michael Kay and is now developed and maintained by Saxonica. There are open-source and commercial versions. Standards supported include XSLT 2.0/3.0, XPath 2.0/3.0/3.1, XQuery 1.0/3.0/3.1, XSD 1.0/1.1, and XQuery Update 1.0. (XSD based validation and XQuery Update as well as optional XSLT 3 features like streaming require a commercial version of the product, like the EE Enterprise edition for streaming in XSLT 3.0). The latest releases 11.6 and 12.3 with the commercial PE and EE editions also supports some experimental XPath 4, XSLT 4 and XQuery 4 extensions.
The product is developed in Java and runs on all standard Java platforms. In addition it has been cross-compiled to .NET, and to a native library with APIs for C/C++ as well as PHP and, in the Saxon/C 1.2 release and the recent SaxonC 11.6 release, a Cython based Python module implementation saxonc
(https://www.saxonica.com/saxon-c/doc/html/saxonc.html), as well as with the new SaxonC 12 release directly as a Python wheel on PyPi: https://pypi.org/project/saxonche/. The latest release in the Saxon family is Saxon 12.3, developed on Java and transpiled to C# as SaxonCS 12.3 EE, a pure C# implementation of XSLT 3, XPath 3.1 and XQuery 3.1 for .NET 6, integrating it with new code to interface with the .NET 6 platform then compiled and built for .NET 6 using dotnet.
The Saxon-CE version was compiled to Javascript using GWT and runs in any browser. Saxon-CE is now obsolete; its replacement is Saxon-JS, which in its 1.x releases was only a native Javascript XSLT runtime, relying on the stylesheet first being prepared for execution using Saxon Enterprise Edition but since its 2.x releases supports XSLT 3.0 and XPath 3.1 both client-side in the browser as well as with Node.js, not requiring Saxon Enterprise Edition anymore to precompile an XSLT file to an SEF file but being able to do that on the fly calling the fn:transform
XPath 3.1 function or in a pre-processing step using xslt3
on Node.js.
Please use this tag only if your question directly relates to the Saxon processor. If you enquire about XSLT, XQuery, XPath, or XSD in general (i.e. if your question is independent of a specific implementation), use tags XSLT
, XQuery
, XPath
or XSD
respectively, with a version number where appropriate.
Saxonica staff monitor this forum, but this is not an official way of requesting product support, and many excellent answers (and a few bad ones) come from users who have no connection with Saxonica. The fact that an answer is ticked means that the original poster found it helpful, it does not mean that the answer is endorsed by Saxonica. If you want to raise a support issue with Saxonica, use http://saxonica.plan.io/
External links: