JAR files included in the product

The full list of JAR files in the Saxon distribution is as follows. Here "10.#" means "10.0", "10.1", "10.2", etc. depending on the maintenance release.

JAR file

Size (approx)

Contents

Included in Editions

saxon-he-10.#.jar

5.4Mb

Saxon Home Edition. Contains all the software in Saxon-HE, except as noted below.

HE

saxon-pe-10.#.jar

6Mb

Saxon Professional Edition. Contains all the software in Saxon-PE, except as noted below.

PE

saxon-ee-10.#.jar

8.3Mb

Saxon Enterprise Edition. Contains all the software in Saxon-EE, except as noted below.

EE

icu4j-59_1.jar

11.9Mb

A copy of the open source ICU-J localization library, used to support sorting and date/number formatting in a wide variety of languages. If this JAR file is not present on the classpath, this will restrict the collations and localization options available to those that are found in the Java runtime.

It should be possible to replace this JAR with a later version downloaded from the ICU project.

(Previous Saxon releases used a tailored version of this JAR file. With experience, we found that this added complexity and delivered no tangible benefits.)

PE, EE

saxon-xqj-10.#.jar

100Kb

Support for the XQJ (XQuery for Java) API. Provided as a separate JAR file in Saxon-HE so that it can be excluded from distributions that require pure OSI-approved open source licensing. The code is included as an integral part of Saxon-PE and Saxon-EE, so no separate JAR file is required in those cases.

HE

saxon-sql-10.#.jar

61Kb

Supports XSLT and XPath extensions for accessing and updating a relational database from within a stylesheet or query. Provided with Saxon-PE and Saxon-EE. The source code is open source so that it can be modified, but it requires support for element extensibility, which requires Saxon-PE or higher.

PE, EE

saxon-he-test-10.#.jar

127Kb

Test drivers for running the W3C test suites for XSLT and XQuery against Saxon-HE. The test drivers are published as open source code in the saxon-resources download. The test suites themselves are on GitHub: repositories w3c/xslt30-test and w3c/qt3tests.

HE

saxon-pe-test-10.#.jar

176Kb

Test drivers for running the W3C test suites for XSLT and XQuery against Saxon-PE. The test suites themselves are on GitHub: repositories w3c/xslt30-test and w3c/qt3tests.

PE

saxon-ee-test-10.#.jar

215Kb

Test drivers for running the W3C test suites for XSLT, XQuery, and XSD against Saxon-EE. The test suites themselves are on GitHub: repositories w3c/xslt30-test, w3c/qt3tests, w3c/xsdtests.

EE

jline-2.14.6.jar

205Kb

JLine 2: an open source library supporting interactive command-line applications, including content completion and command history. This is used by the Gizmo utility, and must be on the classpath when Gizmo is run (it is not needed otherwise).

HE, PE, EE

When running any Java application, Saxon included, all Java classes that are needed must be present on the CLASSPATH. The classpath can be set in the form of an environment variable, or it can be included in the java command that invokes the application.

The classpath is written as a list of filenames. These will either be the names of directories (folders) that contain relevant classes, or the names of JAR files containing the classes. On Windows, the names in the list are separated by semicolons; on Linux and macOS, a colon is used.

The table above lists the JAR files provided with Saxon that you may need to include on your classpath. In addition, you may need to include the following resource:

Resource

Description

saxon-license.lic

License file. This is needed only for running Saxon-EE/Saxon-PE. The license file is obtained when you purchase the product or when you apply for an evaluation license. If the license file is placed in the same directory as the saxon-pe-10.#.jar or saxon-ee-10.#.jar JAR file, then Saxon will usually be able to find it without further assistance; in some class-loading environments, however, the directory containing the license file (not the license file itself) needs to be listed on the classpath.

Verifying the Saxon JAR files

Before releasing new versions of the Saxon JAR files, Saxonica signs them with a digital signature which you can use to verify that the files have not been tampered with. The signatures are based on a digital certificate issued to Saxonica by the security company GlobalSign.

You can verify that a particular JAR file (for example saxon-ee-10.0.jar) has a valid signature using the command:

jarsigner -verify saxon-ee-10.0.jar

More usefully, you can check that it was signed by Saxonica with the command:

jarsigner -verify -verbose saxon-ee-10.0.jar

This produces voluminous information about the contents of the JAR file, ending with details of the security certificate, something like this:

- Signed by "EMAILADDRESS=mike@saxonica.com, CN=Saxonica Limited, O=Saxonica Limited, L=Reading, ST=Berkshire, C=GB" Digest algorithm: SHA-256 Signature algorithm: SHA256withRSA, 2048-bit key Timestamped by "CN=GlobalSign TSA for Advanced - G3 - 003-01, O=GMO GlobalSign K.K., C=JP" on Thu Sep 27 16:58:22 UTC 2018 Timestamp digest algorithm: SHA-256 Timestamp signature algorithm: SHA256withRSA, 2048-bit key

The details will vary from release to release, but will always identify Saxonica as the originator, and give the date on which the JAR file was built prior to release.

Saxonica signs both the open-source and commercial JAR files. The signature does not prevent the JAR file being unpacked and modified, but it means that you can always distinguish a modified JAR file from the original.