Saxon XSLT

From Wikipedia, the free encyclopedia

Saxon is an open-source XSLT and XQuery processor created by Michael Kay. Versions exist for Java and .NET.

The current version, as of November 3rd, 2007, is 9.0.0.1.

[edit] Versions

The original development line of Saxon ended with the version 6 series. This is a series of XSLT 1.0 processors. The current version, 6.5.5, is not undergoing further development aside from maintenance. The 6 series is only available for the Java programming language.

The current development line, Saxon 9, implements the XSLT 2.0 and XQuery 1.0 specifications. Saxon 9 is capable of processing XSLT 1.0 files as well.

Saxon 9 is broken into two separate forms: Saxon-B and Saxon-SA. Both of these are built on similar codebases. Saxon-B is open-source software released under the Mozilla Public License, while Saxon-SA is a closed-source commercial product.

The difference between Saxon-B and Saxon-SA is that B is "basic" while SA is "schema-aware". These terms are references to terms in the XSLT 2.0 and XQuery 1.0 specification. A processor that is "schema-aware" is able to use a W3C XML Schema to define the data types of the various elements in the source XML document(s). These data types can then be used in XPath 2.0 and XSLT 2.0 commands. A "basic" XSLT 2.0 processor is unable to use data typing information.

Saxon-SA also has additional features, such as added optimization, serial processing, etc.

The latest version, Saxon 9.0.0.1, conforms to the XSLT 2.0, XPath 2.0, and XQuery 1.0 W3C Recommendations, available in both -B and -SA forms, for Java and .NET.

Michael Kay, the author of Saxon, was the editor of the XSLT 2.0 specification.

[edit] Features

This table shows which features are available to which versions of Saxon. The Java and .NET versions are identical, so they share the same features.

Feature Saxon 6.5.5 Saxon-B 9.x Saxon-SA 9.x
XSLT 1.0 Support Yes Via backwards-compatible behavior Via backwards-compatible behavior
XPath 1.0 Support Yes Via XPath 1.0 compatibility mode Via XPath 1.0 compatibility mode
XSLT 2.0 Support No, forwards-compatible behavior applies Yes Yes
XPath 2.0 Support No Yes Yes
XQuery 1.0 Support No Yes Yes
XML Schema 1.0 Support No No Yes
Serialization Feature Support Yes Yes Yes
xml:id 1.0 Support No Yes Yes
xml-stylesheet Processing Instruction Support Yes Yes Yes
Advanced Extension Functions No No Yes
Advanced Optimizer No No Yes
Streaming No No Yes
Java Code Generation No No Yes

[edit] External links

Languages