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.
Comment nodes in the input document can be processed only if SAX2-compliant parser is used. If a SAX1 parser is chosen instead, comments are silently ignored.
SAXON supports language-dependent sorting and numbering only for English, but offers APIs that allow support of other languages via user-written additions.
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:
version | 1.0 |
vendor | SAXON from Michael Kay of ICL |
vendor-url | http://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".
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