Redistributed Components

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

SaxonCS uses a number of third-party components that would fall into this category, but they are referenced via Nuget dependencies rather than being distributed with the Saxon product.

Saxon on Java



SaxonJ-EE, 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



SaxonJ-EE 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.



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 believes that creating an implementation of the XQJ API would be lawful without any 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