Schematron is a rule based validation language for structured documents. It was
designed by Rick Jelliffe in 1999 ([Jelliffe
1999](#jelliffe1999)) and standardized as ISO/IEC 19757-3 in 2006 ([ISO 2006](#iso2006)). The key concepts of Schematron validation are
patterns that are the focus of a validation, rules
selecting the portions of a document contributing to the pattern, and assertion
tests that are run in the context of a rule. Schematron uses
XPath both as the language to select the portion of a document and as
the language of the assertion tests. This use of XPath gives Schematron the
flexibility to validate arbitrary relationships and dependencies of information items in
a document.
What also sets Schematron apart from other languages is that it encourages the use of
natural language descriptions targeted to human readers. This way validation can be more
than just a binary distinction (document valid/invalid) but also support authors of
in-progress documents with quick feedback on erroneous or unwanted document structure
and content.
The flexibility and (relative) simplicity of Schematron makes it an invaluable tool for
XML-based text encoding projects. The range of supported tasks reaches from hard
validation to enforce constraints on documents to soft
validation to report
potential problems such as Unicode characters from Unicode Private Use Areas to
interactive error correction with Schematron extensions like Schematron QuickFix ([Kutscherauer and Nadolu 2018](#sqfspec))
This full day workshop will introduce the participants to principle idea
of Schematron and discuss its application to XML-based text encoding projects. Together
we will explore patterns, rules, and assertions as the basic Schematron concepts and
touch phases, variables, and abstract patterns as more advanced features of Schematron
validation. The workshop will end with Schematron QuickFix, an
extension to Schematron that allows for interactive error corrections in XML editing
environments like [<oXygen/>](https://www.oxygenxml.com/).
From the participants the workshop requires a general understanding of XML document
editing and basic knowledge of XPath. The material requirements are a
projector and laptops to follow through with the examples given in the workshop. For the
main part – basic and advanced Schematron concepts – any operating system with a recent
Java Runtime is sufficient, the introduction to Schematron QuickFix will use
the [<oXygen/>](https://www.oxygenxml.com/) XML editor.
Participants are recommended to bring their own device.
International Organization for Standardization. 2006. Part 3: Rule-Based Validation - Schematron. ISO/IEC
19757-3:2006(E).
Jelliffe, Rick. 1999. Using XSL as a
Validation Language.
https://web.archive.org/web/20000415135808/http://www.ascc.net:80/xml/en/utf-8/XSLvalidation.html.
Kutscherauer, Nico, and Octavian Nadolu. 2018. Schematron Quick Fixes Specification. Draft March 2018.
Quick-fix support for XML Community Group.
https://schematron-quickfix.github.io/sqf.