Schematron is an XML-based language for validating XML instance documents. Schematron is used to make assertions about data in an XML document. Schematron is used to express operational and business rules.
Schematron is an ISO standard.
Use Schematron to verify data interdependencies (co-constraints), check data cardinality, and perform algorithmic checks. A co-constraint is a dependency between data within an XML document or across XML documents. Cardinality refers to the presence or absence of data. An algorithmic check determines data validity by performing an algorithm on the data.
These tutorials teach the core concepts of Schematron. However, there are some aspects that are not covered, such as the use of abstract patterns and rules, <report> versus <assert>, and performance of the different Schematron tools. I invite you to create a short tutorial on some aspect of Schematron and I will incorporate it here, and, of course, you will be acknowledged as the author. (Please format it as an S5 document)
The tutorials are HTML documents. Some of them appear as slide shows. I am using S5 for this.
To move forward in the slide show click on the right arrow key. To move backward, click on the left arrow key. Here are other ways to navigate the tutorials
I recommend reading the tutorials in the order listed. Although they are mostly independent, occasionally I reference stuff from earlier tutorials.
I recommend viewing the tutorials using the Firefox browser.
George Bina has a nice Flash video of using Schematron in Oxygen XML.
You can download the tutorials, including all the examples and lab exercises (zip file, about 1MB).
This is a nice cover page.
The tutorials should be printed in Landscape orientation.
I hope you enjoy these tutorials. If you find any typos please send me an email and let me know. In fact, if you have any comments, drop me a note. Here's my contact information:
Interested in seeing how this tutorial is evolving? See the change log.
Last Updated: June 1, 2007