JAR files included in the product

The full list of JAR files in the Saxon distribution is as follows:

JAR file

Contents

saxon9he.jar

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

saxon9pe.jar

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

saxon9ee.jar

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

icu4j-59_1.jar

A copy of the open source ICU-J localization library, used to support sorting and date/number formatting in a wide variety of languages. Included in the Saxon-PE and Saxon-EE distributions. 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.)

saxon9-sql.jar

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.

saxon9he-test.jar

Test drivers for running the W3C test suites for XQuery and XSLT against Saxon-HE. Included in the Saxon-HE distribution only. The test drivers are published as open source code.

saxon9pe-test.jar

Test drivers for running the W3C test suites for XQuery, XSLT, and XSD against both Saxon-PE and Saxon-EE. Included in the Saxon-PE and Saxon-EE distributions.

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 Max OS/X, 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 saxon9pe.jar or saxon9ee.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 saxon9ee.jar) has a valid signature using the command:

jarsigner -verify saxon9ee.jar

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

jarsigner -verify -verbose saxon9ee.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.