[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]
Schematron: Categories of Usage?
- From: "Costello, Roger L." <costello@mitre.org>
- To: <xml-dev@lists.xml.org>
- Date: Mon, 22 Jan 2007 06:48:39 -0500
Hi Folks,
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)
Let me give an example to show what I mean by "ways that Schematron is
being used".
Consider this simple XML instance document:
<?xml version="1.0"?>
<Document>
<Classification>unclassified</Classification>
<Para>
Lorem ipsum dolor sit amet,
laoreet ac convallis dictumst
</Para>
<Classification>unclassified</Classification>
</Document>
Schematron can be used to specify, "The Classification value at the top
and bottom of the document must match; the Para element must not
contain any restricted keywords."
Thus, we see Schematron being used to express these two types of data
constraints:
1. Co-constraints: in the example the co-constraint is between the two
Classification values; namely, the two values must be identical. In
general, 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.
Schematron is very well-suited to expressing co-constraints.
2. Existence: in the example the existence constraint is that the Para
element must not contain any restricted keywords. The keywords may be
obtained dynamically from another file. In general, 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.
Schematron is very well-suited to expressing existence constraints.
Categories of Schematron Usage
Here are the ways that Schematron is being used today:
1. Co-constraint checking
2. Existence checking
Are you using Schematron in ways not represented by these two
categories? I am particularly interested in identifying ways
Schematron is being used which cannot be expressed by other schema
languages - XML Schemas, Relax NG.
/Roger
[Date Prev]
| [Thread Prev]
| [Thread Next]
| [Date Next]
--
[Date Index]
| [Thread Index]