What is Saxon?
The Saxon package is a collection of tools for processing XML documents. The main components
An XSLT 2.0 processor, which can be used from the command line, or invoked from
an application, using a supplied API. This can also be used to run XSLT 1.0 stylesheets.
An XPath 2.0 processor accessible to applications via a supplied API.
An XQuery 1.0 processor that can be used from the command line, or invoked from
an application by use of a supplied API.
An XML Schema 1.0 processor. This can be used on its own to validate a schema for correctness,
or to validate a source document against the definitions in a schema. It is also used to support the schema-aware
functionality of the XSLT and XQuery processors. Like the other tools, it can be run from the command line,
or invoked from an application.
On the Java platform, when using XSLT, XPath, or XML schema validation, the API supported
by Saxon is the JAXP API, which means it is possible for a Java application
to switch between different XSLT, XPath, and XML Schema processors without changing the application code.
At the time of writing, however, Saxon is still the only JAXP implementation that offers
support for XSLT 2.0. Saxon offers two APIs for XQuery processing: its own native API, which
has been present in the product for some time, and an early implementation of the XQJ
specification which is under development as part of the Java Community Process.
On the .NET platform, Saxon offers an API that enables close integration with other
services available from .NET, notably the XML-related classes in the
namespace. It isn't possible to use Saxon as a transparent plug-in replacement for the
processor, because the API for the Microsoft engine using concrete classes rather than abstract
interfaces. However, it is possible to use it as a functional replacement with minor changes
to your application code.
Saxon implements XSLT 2.0, XPath 2.0, and XQuery 1.0
as defined in the final Recommendations of 23 January 2007.
It also includes an implementation of the XML Schema 1.0 Recommendation.
Full details of Saxon's conformance to the specifications are provided in the
In addition, Saxon provides an extensive library
all implemented in conformance with the XSLT and XQuery Recommendations to ensure that
portable stylesheets and queries can be written. These include the EXSLT
extension libraries common, sets, math, and dates-and-times.
Many of these extensions were pioneered in Saxon and have since become available
in other products.
These extension functions are in general accessible from XQuery and XPath as well as XSLT,
except where they depend on stylesheet information. Some extensions are available in