Interesting uses

From Schematron

Contents

Interesting uses of Schematron

These can be instances of Schematron use, suggestions for potential Schematron use, or even interesting techniques that can be used in Schematron

"Modeling ER schemas using Schematron"
how to

convert from ER diagrams to Schematron (and back if you want!) using abstract patterns

"Schematron is the basis of the UBL Methodology for Code List and Value Validation"
See also http://lists.oasis-open.org/archives/ubl/200611/msg00044.html
"Can Schematron test bitfields?"
Testing bitmaps


Roger Costello's list

In "Schematron: Categories of Usage?" Costello says: "I am putting together a list of ways that Schematron is being used. I seek your help in ensuring that the list is complete. (I will post the final list)"

He reported his findings in this message, excerpted below:

Characterization of Schematron

Schematron Usage

Here are the ways that Schematron is being used today:

1. Co-constraint checking: co-constraints are constraints that exist between data (element-to-element co-constraints, element-to-attribute, attribute-attribute). The co-constraints may be "within" an XML document, or "across" XML documents.

2. Existence checking: existence constraints are constraints on the presence or absence of data. The existence constraints may apply over the entire document, or to just portions of the document.

3. Algorithmic checking: the validity of data in an XML instance document is determined not by mere examination or comparison of the data, but requires performing an algorithm on the data.

Schematron Features

1. Author specified error messages: Schematron allows the schema author to write the error messages, thus the errors can be reported at a higher (operational/user) level. The schema author can thus communicate with the user and explain the error in an understandable way and direct the user on how to correct the problem.

2. External Data Mashups: Data used in Schematron assertions may be dynamically obtained from external files.


Follow-ups