Lists Home |
Date Index |
From: "Paul Spencer" <firstname.lastname@example.org>
> Using an "open" language to apply further constraints has different
Here are five other benefits:
1) The global schema can be simplified
2) <redefine> is a feature that some implementors may have left to
last to get 100% correct
3) The Schematron schema lets you state the rules as exceptions to
the global rules, which makes the relationship very clear
4) Biting the (very small) bullet, and augmenting the main validator with
Schematron validation makes it trivial to then add other kinds of validation
that Schematron makes easy. So attempting to do too much in XSD,
rather than being conservative with XSD and conservative in Schematron.
may actually reduce your choices for validation!
5) Having decided to augment your grammar-based schema with Schematron
and use XSD conservatively for the global schema, there may be less reason
to actually use or mandate XSD: you might stick with DTDs, or if you need
datatyping use RELAX NG. Or, allow locals to convert their global XSD
schema into whatever they want.
Another downside is that if you go outside XSD for basic structural constraints,
you lose the potential for some of the efficiency: however, of course, you
applications may not be those that could make use of that potential anyway.
For example, there is no TAI (e.g. SPVI) DOM around, and XQuery is not
finished, and even when they are they may not be relevant to you. But, of
course, they may be, too.