Packaging, installation, and licensing changes

Note that Saxon 9.2 requires J2SE 5 or later. It no longer works with JDK 1.4

Note in particular the packaging changes. Saxon now comes in three editions: Home Edition, Professional Edition, and Enterprise Edition.

Saxon 9.2 comes in three editions: Home, Professional, and Enterprise, replacing the previous split between Basic and Schema-Aware.

Saxon on the Java platform now requires J2SE 5 (often called JDK 1.5) or later. It no longer works with JDK 1.4.

Saxon is now available in three editions: Home (HE), Professional (PE), and Enterprise (EE). The Home Edition is open-source, available free of charge, and runs without a license file. The Professional and Enterprise editions both require a license key obtainable from Saxonica.

The Saxon-SA product has been renamed Saxon-EE (for "Enterprise Edition") to reflect the fact that it contains many added-value features beyond schema-awareness: for example, streaming, XQuery Updates, compilation of queries to Java code, separate compilation of query libraries, and an advanced query optimizer.

The JAR and DLL files are renamed accordingly (for example saxon9ee.jar, saxon9ee.dll).

The Configuration class for Saxon-EE (previously com.saxonica.validate.SchemaAwareConfiguration) is now renamed com.saxonica.config.EnterpriseConfiguration. This change reflects that fact that use of this Configuration enables all features that are exclusive to Saxon-EE, of which schema-awareness is only one. The Configuration class for Saxon-PE is named com.saxonica.config.ProfessionalConfiguration, while that for Saxon-HE is simply net.sf.saxon.Configuration.

The JAXP factory classes for Saxon-EE (previously com.saxonica.SchemaAwareTransformerFactory and SchemaAwareXPathFactory) are renamed com.saxonica.config.EnterpriseTransformerFactory and com.saxonica.config.EnterpriseXPathFactory.

Similarly, Saxon-PE (professional edition) offers com.saxonica.config.ProfessionalTransformerFactory and com.saxonica.config.ProfessionalXPathFactory.

Some features that were previously available in the open-source product Saxon-B are not included in the Saxon-HE (home edition) product build. These features are all optional extras, in the sense that they are not required for conformance to the W3C or Java API standards. The relevant features are:

Some features that were previously available only in Saxon-SA are now available in Saxon-PE (without open source code). These include:


The notes below are non-normative: for definitive statements, you need to read the license text.

Saxon-PE and Saxon-EE (professional and enterprise editions) are available under commercial license terms. These impose the usual commercial restrictions, for example redistribution of the software is allowed only under an explicit agreement.

The open source product, Saxon-HE, is available under the same conditions as its predecessor, Saxon-B: that is, the Mozilla Public License.

The effect of this is that there are very few restrictions on applications built using Saxon-HE: the JAR file can be distributed with the application, and the application can be issued under any licensing terms you choose, whether commercial or open source. The only restriction you need to watch out for is that there is a requirement to distribute the notices contained in the notices directory whenever you distribute the JAR file itself. Some popular software distribution mechanisms such as maven are currently unable to satisfy this obligation.

License keys

Saxon-EE and Saxon-PE on .NET now uses the same license key files as Saxon on Java. For the time being, Saxon-EE on .NET will also work with previously issued .NET license keys, but all new license keys issued will be in cross-platform format.

For Saxon-EE and Saxon-PE on Java, it is no longer necessary for the directory containing the license key file to be on the classpath. Instead, the license file saxon-license.lic can be installed in the directory containing the saxon9ee.jar or saxon9pe.jar file, where Saxon will find it automatically. Saxon now looks first in this location, and then on the classpath.

Since the license key directory no longer needs to be on the classpath, the class net.sf.saxon.Transform is now the registered entry point for all three JAR files: saxon9he.jar, saxon9pe.jar, and saxon9ee.jar, making it possible to run all three products using the -jar option on the command line.

There has been some abuse of evaluation licenses, notably in developing countries. Two measures have been introduced to discourage the use of evaluation licenses for production work: