About SAXON

version 6.0.2


 

Contents
On this page On other pages
What is SAXON?
Historical Note
Installation
Conditions of Use
Changes in this release
Using XSL Stylesheets
XSL Elements
XPath Expression syntax
Pattern syntax
XSL Conformance
SAXON Extensions
Extensibility mechanisms
Java API Overview
Sample applications
DTD Generator
Future enhancement suggestions

Please note: a copy of the documentation on this site is also included in the download file. However, the on-line version may be more up-to-date. The download file also includes full API documentation, which is not present on the web site: see the doc/api directory.

A D V E R T I S E M E N T
For comprehensive information about using XSLT
see my book
XSLT Programmers Reference
published by Wrox Press

Release 6.0.1 of Saxon contains many internal changes, and has not had the same level of field exposure as earlier releases. For production use, the most stable release is currently version 5.5.1


What is SAXON?

The SAXON package is a collection of tools for processing XML documents. The main components are:

So you can use SAXON by writing XSL stylesheets, by writing Java applications, or by any combination of the two.

If you are only interested in running the XSLT interpreter, on a Windows platform, try Instant SAXON. At 300 Kb, this is a much smaller download; it excludes source code and API documentation.

SAXON provides a set of services that are particularly useful when converting XML data into other formats. The output format may be XML, or HTML, or some other format such as comma separated values, EDI messages, or data in a relational database.

SAXON implements the XSLT 1.0 recommendation, including XPath 1.0, in its entirety. SAXON also does things that are beyond the scope of the XSL standard: for example:

As a class library, SAXON gives you the ability to use the XSL rule-based approach to document processing, but with the flexibility of the full Java language. You can declare handler classes to match particular patterns in the document, and can process arbitrary sets of nodes selected using XSL expressions. This provides a high-level query capability which you can mix with purely navigational access.


Historical Note

I originally wrote SAXON to support an internal project in ICL. It has since been used for a number of external projects, but there is no intent to make it into a fully-fledged ICL product.

The name SAXON was chosen because originally it was a layer on top of SAX. Also, it uses the Ælfred parser (among others); Ælfred of course was a Saxon king...

I have been asked to point out that the product has no connection with a company called SAXON Software.


Please read the Conditions of Use.


Technical Support

Saxon comes with no warranty and no formal technical support service.

If you have questions, however, you can usually get an answer by raising them on the Saxon discussion list at http://saxon.xsl.listbot.com. Also check the list archives: I post lists of known errors there from time to time. If the query relates to the XSLT/XPath language rather than Saxon itself, it is better to use the XSL-list: check first that the query isn't already covered in the FAQ. Another useful site for XSLT information is www.xslinfo.com


Installation

Existing users please see the file changes.html for details of any incompatible changes.

The full SAXON distribution includes source and object code, documentation, and sample applications.

Object code is issued as a JAR file, saxon.jar, which you must include on your class path.

Saxon includes a built-in XML parser, but you can use it with a different XML parser if you wish. To do this, the file ParserManager.properties must be copied into a directory that is listed on your CLASSPATH. You should edit this file to identify the SAX-compliant parser that you intend to use. Alternatively, you can specify the parser you want to use on the command line, or via the Java API: if you do this, ParserManager.properties is not used.

User documentation, covering both the XSLT and Java interfaces, is included in the download in the form of extensive javadoc specifications. Be sure to read the package summaries, which give an overview in the form of a user guide. In addition there is an introductory overview.

Prerequisites:

The following software must be installed separately, it is not included with the SAXON download.

SAXON comes with a bundled XML parser, a modified copy of the AElfred parser, adapted to notify comments to the application. It can be used with other SAX-compliant parsers by modifying the ParserManager.properties file. SAXON has been tested successfully in the past with Lark, MSXML, SUN Project X, Oracle XML, xerces, xml4j, and xp. Use of a SAX2-compliant parser is preferred, as SAX1 does not allow XML comments to be passed to the application. However, SAXON works with either. All the relevant classes must be installed on your Java CLASSPATH.

An interactive debugger for Saxon has been written by Edwin Glaser. It is still at an early stage of development. The software can be downloaded from http://tbug.sourceforge.net. It is issued in tar/gzip format, but it can be unpacked on a Windows machine using WinZIP.

Because Saxon is run from the command line, you might find it useful (under Microsoft Windows) to have a text editor with better command-line support than the standard DOS window. I use Programmer's File Editor (PFE), a free product available from a number of download sites, for example softseek.com, and also UltraEdit, shareware available from www.ultraedit.com

Download

The SAXON download (2.6 Mb) is at http://users.iclway.co.uk/mhkay/saxon/saxon.zip


Michael H. Kay
8 December 2000

Personal home page: http://users.iclway.co.uk/mhkay