Schematron Tutorial for Declarative Amsterdam 2022
Schematron is an XML based validation language that goes beyond the capabilities of DTD, W3C Schema and RelaxNG. Using XPath expressions, it can validate almost anything in an XML document. It’s main use case is in enforcing business rules for XML documents.
Declarative Amsterdam 2022 (November 7 and 8, Amsterdam) will kick off with a day of tutorials and workshops. One of these will be an introduction to Schematron.
The da-2022-schematron GitHub repository is used to host all materials (presentations, exercises, etc.) for this introduction. It will be filled in the weeks leading up to the conference.
The Schematron tutorial will be a mix of theory, demos and practice. If time and technical hurdles allow, attendees can do (simple) exercises to get practice and a feel for the language. The annotated presentation is available.
If you would like to follow along and do some of the exercises yourself during the tutorial, you need a working Schematron processor present and working:
schxslt-cli.jar
java -jar schxslt-cli.jar
for information on the command line optionsLet’s try to answer this question with an overview of Schematron’s main high-level characteristics:
Schematron came to life in 1999 in Taiwan with a presentation called “From Grammars to Schematron” by Rick Jelliffe. This eventually resulted, in 2001, in Schematron 1.5, a version based on XSLT 1.0. You could use it anywhere an XSLT processor was available, which was one of the reasons for its success. After this, standardization was taken over by ISO (International Organization for Standardization). This led to the release, in 2006, of ISO Schematron, which added new features such as variables and abstract patterns.
Development continued and newer versions of XPath and XSLT were incorporated. Through a succession of versions we arrived at what is, in 2022, the most current one: ISO/IEC 19757-3, Third edition, 2020-06: Information technology - Document Schema Definition Languages (DSDL) - Part 3: Rule-based validation using Schematron. This is the version used here.
My name is Erik Siegel. Xatapult is my (one-man) company, specialized in content engineering and XML processing. Most of my clients are in the publishing industry or involved in standardization.
I come from a technical IT background. Xatapult is deliberately looking for content and XML related projects on all levels: from the strategic use of standards to developing processing applications.
I do not just strive for the best solution from a business and technical perspective, but also for optimal understandability. Therefore, documentation is never an afterthought. I consider my ability to explain and clarify complex technical stuff, both live and in prose, as an important non-technical skill.
In my (recent) past I have given several successful courses on topics such as XML, XSLT, XML Schema and XProc. Most of these courses I developed myself. On Declarative Amsterdam 2021 I did a tutorial on XProc (which is still available).
I’m the author of three books:
More details about me on my LinkedIn profile. You can reach me at erik@xatapult.nl.