Schematron is a rules-based XML schema language used to define and limit XML vocabularies. Discover the benefits of using the Schematron standard, either on its own or in conjunction with other schema languages.
The Schematron Assertion Language (this link is to a zip file, which is, unfortunately, the only way to obtain this ISO standard text) [ISO standard ISO/IEC 19757-3:2006] is a schema language that uses a different approach from Document Type Definition (DTD), RELAX NG, or W3C XML Schema (WXS). In Schematron, you register a collection of rules against which the XML document is to be checked, rather than mapping out the entire tree structure of the XML format you're trying to express from root node to the leaves. This makes Schematron useful not only as a standalone schema language, but also as a complement to other schema languages. It also features constraints that you can express in Schematron that you cannot express in other languages. A common example is a co-occurrence constraint, where the constraint on one part of a document depends on another. For example, a constraint of the maximum value of a day field within an element representing a date would depend on the month, and even year, fields. WXS offers no way to express such constraints, and RELAX NG offers limited capability. Schematron allows you to express such constraints quite readily.
- Get started with Uche Ogbuji's tutorial, A
hands-on introduction to Schematron, which covers the full ISO
standard (developerWorks, September 2004).
- Chimezie Thomas-Ogbuji's introduction, Validating
XML with Schematron, covers the older Schematron 1.5 (XML.com,
November 2000).
- The Schema
tron home page and resource directory
provide many useful links.
- Some of the more useful features of Schematron allow you to
parameterize aspects of schema rules, as explained in Discover the flexibility of Schematron abstract patterns
by Uche Ogbuji (developerWorks, October 2004).
- Read about other XML standards:
Index of XML
standards.
- Participate in any of several XML-centered forums:
XML
zone discussion forums.
- Get involved in the developerWorks community: developerWorks blogs
- Find out how you can become an IBM-Certified
Developer in XML and related technologies at IBM XML
certification.
- See the developerWorks XML Zone for a wide range of
technical articles and tips, tutorials, standards, and IBM Redbooks at
XML
technical library.
- Stay current with technology in these sessions: developerWorks technical events and webcasts.
- Build your next development project with trial
software available for download directly from developerWorks: IBM trial software
