skeleton1-5.xsl - An Implementation
of Schematron 1.5 in XSLT
skeleton1-5.xsl is a reference implementation of the Schematron 1.5 XML Validation language by Rick Jelliffe with the collaboration of members of the schematron-love-in mail-list.
NOTE: In 2007, consider switching over to ISO Schematron, the ISO standard version. An implementaiton is being prepared with the same API as used by the metastylesheets below.
Here are some metastylesheets that flesh out the functionality of the skeleton.
- Schematron-report - browser-based report of assertion results with links to the XML documents --> LOOK HERE FIRST!
- Schematron-basic - minimal concept demonstration
- Schematron-message - for interactive debugging of XML documents
- Schematron-conformance - for testing conformance of implementations (a larger example)
Creating your own metastylesheet
Here is some rough documentation for the API. You use the skeleton to create your own implementations: make your own XSLT script and include the skeleton and override the templates you need to. An example of doing this is the Schematron Validator which produces an XML Conformance Report.
There are also some Implementation Notes.
We have tested the skeleton (and the conformance language) against more than ten implementations of XSLT (Java and C-based implementations available shrink-wrapped on PC) to make sure our code is portable.
The results of each conformance test was automatically checked by a Schematron script that detects important errors. All the scripts and the results are below.
- Conformance Language DTD
- Screamatron Torture Test Conformance Report on some PC XSLT implementations
- Conformance1-5.xsl -- a conformance language for testing the Schematron 1.5 skeleton.
- expected output
- the DOS .BAT file we use to run the tests -- good place to check command-line parameters for different implementations
- Schematron schema for judging the conformance
- example of the report output produced by the .BAT file
For a related topic, see http://www.ascc.net/xml/connect for an XSLT stylesheet for automatically generating batch files for complex XSLT transformations.