Redistributed Components

This page describes Category C components as defined above: components that are redistributed with Saxon in binary form, without source-level alteration.

Java and .NET platforms



Saxon-EE, on both Java and .NET, includes the ASM bytecode generation library. The code is issued without modification, except that on .NET it is cross-compiled to .NET IL form.

The license can be found at

Applicable notice: ASM.txt



Saxon-EE, on both Java and .NET, includes portions of the International Components for Unicode library, principally to support use of the Unicode Collation Algorithm, and localization features such as formatting of numbers and dates.

The license can be found at, which contains details of the licences for third-party software components that it includes, not all of which are included in Saxon-EE.

Saxon on Java



XQJ is a Java API for XQuery, supported by a number of XQuery implementations including Saxon. To support this API, Saxon necessarily includes the Java files that define the interfaces.

These files are copyright (c) Oracle Corporation. They are used under a license which permits use and redistribution. The license however does not qualify as an open source license under the rules of the Open Source Initiative, because it explicitly prohibits modification of the relevant files. For this reason XQJ is issued as a free-standing JAR file in the open-source Saxon-HE product.

The license for XQJ is provided in the JSR 225 specification. This contains separate licenses for the specification, the reference implementation, and the "technology compatibility kit" (that is, the reference tests). Saxonica considers that the Java interface files are part of the specification and are licensed under the conditions that apply to the specification. These conditions are as follows:

Saxonica certifies that the Saxon product, as an implementation of XQJ, satisfies the conditions of this license (for example, it passes the tests in the TCK).

Note: although Saxonica complies with all the conditions of this license, Saxonica does not necessarily accept that implementing a published specification is an action that requires a license.

JLine 2


JLine 2 is a library for handling interactive console input, with facilities such as content completion and command history. It is used by the Gizmo utility. For user convenience, the JLine 2 JAR file is distributed in unmodified form with the Saxon release. It should be placed on the classpath when running Gizmo, but is otherwise unused.

Note: Saxon Gizmo does not work with JLine 3.

The license is the two-clause BSD license:

Applicable notice: JLINE2.txt

Saxon on .NET

IKVM Runtime

See Can be downloaded from Saxon links dynamically to this DLL.

License is at

Applicable notice: FRIJTERS.txt

OpenJDK Classpath

The copy of OpenJDK Classpath released with Saxon on .NET is derived from the version that is released as part of IKVM Runtime (see above). This in turn is derived largely from the Sun OpenJDK distribution, together with some components taken from the Red Hat IcedTea library, compiled into CIL code using IKVMC. Saxon 9.1 uses IKVM, which in turn uses OpenJDK 7 b13.

Saxon distributes only the parts of this library that are actually needed. These parts have been rebuilt from source code, but no source modifications have been made.

Saxon links dynamically to this DLL.

The license conditions are at (This is a modified variant of the GNU Public License version 2, with a special clause allowing it to be used as part of a product that is not itself open source.)

Applicable notice: GPL+CLASSPATH.txt

Apache Xerces

Rather than distributing the Sun version of Xerces that comes with the OpenJDK library, Saxon instead distributes the Apache version of Xerces. (The two versions have diverged considerably. The Apache version is used because it is considered more reliable and is also easier to integrate because it does not have unnecessary dependencies on other parts of the JDK library.)

The two Apache JAR files xercesImpl.jar and resolver.jar have been cross-compiled to IL code using the IKVMC compiler, but are otherwise unmodified.

The license conditions for Xerces are at

Applicable notices: APACHE-XERCES.txt, APACHE-RESOLVER.txt


Supporting the saxon:parse-html() extension function, the code of TagSoup version 1.2 is included in the Saxon-PE and Saxon-EE distributions on .NET. Apart from cross-compiling from Java bytecode to IL code, the code is unmodified.

Information about TagSoup, including links to the download location for source code, is available at

The license conditions for TagSoup are at

Applicable notices: APACHE-TAGSOUP.txt