SAXON home page

XSLT Conformance

SAXON XSLT implements the XSLT 1.0 and XPath 1.0 Recommendations from the World Wide Web Consortium, found at http://www.w3.org/TR/1999/REC-xslt-19991116 and http://www.w3.org/TR/1999/REC-xpath-19991116, which are referred to here collectively as "XSLT"

SAXON is 100% conformant to the mandatory requirements of these standards.

SAXON is dependant on the user-selected XML parser to ensure conformance with the XML 1.0 Recommendation. However, SAXON itself ensures that the source document and stylesheet comply with the XML Namespaces Recommendation.

SAXON implements the <?xml-stylesheet?> processing instruction in a source XML document provided that the pseudo-attribute href is either the URL of a freestanding stylesheet document, or a fragment identifier matching the id attribute of an embedded stylesheet within the same document. Java APIs are available allowing the application to implement more elaborate schemes of stylesheet addressing than this, including the ability to access an embedded stylesheet by means other than the <?xml-stylesheet?> processing instruction.

SAXON does not support the other pseudo-attributes of the <?xml-stylesheet?> processing instruction and does not support multiple <?xml-stylesheet?> processing instructions in the same document.


Limitations

Documentation

The XSLT specification says that the documentation for an implementation should specify which URI schemes are supported. SAXON supports the URI scheme implemented by the Java java.net.URL class. Additionally, SAXON allows the user to nominate a URIResolver class which can be used to implement any URI scheme the user wants.

The XSLT specification says that the documentation for an implementation should specify for which media types fragment identifiers are supported. SAXON does not support fragment identifiers for any media type. However, a user-written URIResolver can support fragment identifiers if it wishes.

The values of the vendor-specific system properties are:

version1.0
vendorSAXON from Michael Kay of ICL
vendor-urlhttp://users.iclway.co.uk/mhkay/saxon/index.html

All three values are subject to change in future releases. Users wishing to test whether the processor is SAXON are advised to test whether the vendor system property starts with the string "SAXON".

Extensions

SAXON implements a number of extensions to standard XSLT, following the rules for extension functions and extension elements where appropriate. The extensions are documented in extensions.html. They are all implemented in accordance with the provisions in the standard for extensibility.


Michael H. Kay
13 April 2000