TEI 2019

What is text, really? TEI and beyond


All WorkshopsTEI

An introduction to Schematron and Schematron QuickFix

David Maus

Keywords: Schematron, XML, Validation, Schematron QuickFix, Workshop
Slides: https://doi.org/10.5281/zenodo.3429706
Permalink: https://gams.uni-graz.at/o:tei2019.133

Schematron is a rule based validation language for structured documents. It was designed by Rick Jelliffe in 1999 (Jelliffe 1999) and standardized as ISO/IEC 19757-3 in 2006 (ISO 2006). 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)

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/>.

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/> XML editor.

Participants are recommended to bring their own device.

Bibliography

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.