This is the documentation for the Saxon version 12 series.
A full history of changes over successive releases appears in the Change history.
The documentation includes information specific to the Java, C#, and C/C++, PHP and Python versions of the Saxon product, referred to as SaxonJ, SaxonCS and SaxonC respectively.
Information specific to the Java product (SaxonJ) is highlighted like this, and can be hidden using the "Java" checkbox at the bottom of the page. Although APIs are always described using Java syntax, they can also be used from other JVM-based languages such as Scala.
Information specific to the C# product (SaxonCS) is highlighted like this, and can be hidden using the "C#" checkbox at the bottom of the page. Although APIs are always described using C# syntax, they can also be used from other .NET-based languages such as VB.NET.
Information specific to the C/C++, PHP and Python product (SaxonC) is highlighted like this, and can be hidden using the "C" checkbox at the bottom of the page.
Saxon 12 includes highly conformant implementations of the current W3C Recommendations: XSLT 3.0, XQuery 3.1, XPath 3.1, and XSD 1.1. See Standards conformance for more details.
Support for older specifications such as XSLT 2.0 and XQuery 1.0 has been dropped, but of course the newer specifications have a high level of backwards compatibility so existing code should continue to run without any problems. Support for two superseded specifications is retained for the time being: XSD 1.0 and XPath 2.0.
XSLT 2.0 and 3.0 define a "backwards compatibility mode" for running XSLT 1.0 stylesheets: this is available in all Saxon editions.
For SaxonJ and SaxonC this documentation covers three Saxon editions: home, professional, and enterprise (HE, PE, and EE). The Home Edition remains open source (under the Mozilla Public License 2.0). An outline of what is present in each edition can be found in the feature matrix. Broadly speaking:
- Saxon-HE includes support for published W3C recommendations at the minimum conformance level;
- Saxon-PE includes support for optional W3C features and for Saxon extensions;
- Saxon-EE includes features needed for advanced applications and high performance.
SaxonCS is currently available only in the Enterprise Edition (SaxonCS-EE), so the suffix -EE is normally omitted; however statements about Enterprise Edition should be taken as referring both to SaxonJ-EE and SaxonCS-EE unless otherwise specified.
See also Choosing a software package.
Much of this documentation is applicable to the SaxonC product, but you should also check the SaxonC documentation for aspects specific to that platform (including full details of the APIs for C/C++, PHP and Python).
The documentation also contains information relevant to SaxonJS (in particular the Reference sections on XSLT elements, XPath syntax, and Functions library), but please see the main SaxonJS documentation for specific SaxonJS product information.