Schematron is a rule-based XML schema language, offering flexibility and power that W3C XML schema, RELAX NG, and DTDs simply can't match.
You need Schematron and can't settle for other languages if you have to check rules that go beyond checking the document structures (i.e., checking that an element bar is included in element foo) and their datatypes. Schematron is the right tool for checking conditions such as "startDate is earlier than or equal to endDate."
Schematron is also the right tool to use if you have to raise user-friendly error messages rather than depend on error messages that are generated by a schema processor and that are often obscure.Schematron builds on XPath. You will need to understand XPath to to get the most from Schematron.
Eric van der Vlist is a consultant working in France. He runshttp://xmlfr.org/, a French website about XML and related subjects, and wrote XML Schema and RELAX NG for us. He's contributed to XML.com regularly.
Having read with great interest the XML Schema and Relax NG books written by Eric van der Vlist, I was expecting the same kind of high quality from this text on Schematron.
The first 40 pages are well written and make a good distinction between Schematron and other kinds of XML Schemas.
Unfortunately, I was disappointed by the bad copy editing and presentation of the document:
* the XML code is not indented and seems formatted like it was text but in a very small font compared with the rest of the text makes it very hard to read and understand;
* even in a cursory reading, I found at least 10 typos (even in XML code) that do not hamper understanding but are annoying enough to show that nobody seems to have proofread the document.
* formatting is very flat and it is hard to find the start of new chapters when the text is printed. Why not start new chapters at the start of a page. As this document is only available in PDF, it would have costed almost nothing to add a few blank spaces in order to ease understanding.
* even on the first page, the "beast" covers a part of the table of contents
* there are no index, nor references.
* color is only used for page footers, it could have been used to distinguish notes for Schematron 1.6 from ISO Schematron.
Although the first 40 pages are very good, the last three "cookbook" examples are not very useful nor understandable. I do not see the point behind the warning on page 41 nor the interest in managing processing-instruction in such details. It would have been enough to mention this possibility available only in Schematron but not go into the all smallish details that are now given.
The document has no conclusion, it finishes abruptly after the last cookbook example.
The author should also have indicated how to combine Schematron with other Schemas (e.g. appinfo) and given a motivating example of this complementarity between the different Schema languages.