When to use Schematron
Dare's article on Schematron a ways back showed how to use Schematron for validation and mix it with Xml Schema. The architectural question is: when should you use it?
As a corporate architect I heard many projects where agreement on the XSD contract was the easy part. It is the rest of the taxonomic rules that took the most work between partner companies. This is where Schematron comes in.
You do not need Shematron if you:
- own both sides of the contract and they are deployed together. In that case you should have a helper or adapter class that owns the taxonomic business rules.
You should use Schematron if you are:
- making a standard spec used by third parties
- working with a partner company that owns the "other side" of the contract
You can use Shematron
- all the time as a documentation tool for otherwise implied semantic rules
Any other reasons you can think of?