Today it is necessary to combine multiple schema languages when describing an XML language
Grammar-based schema languages (W3C XML Schema, RELAX NG) are very good at telling something is wrong, but they fail in telling where exactly is the problem and how to resolve it
Outputs are user unfriendly
Low level error messages (no relation to the modeled domain)
Unable to express some constraints (can't operate on multiple different contexts)
Combine grammar-based schema languages with rule-based languages
Attaching domain specific diagnostics
Expressing constraints more constraints
Example 5. Multiple validate
actions for a single namespace
<rules xmlns="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0"> <namespace ns="http://www.w3.org/1999/xhtml"> <validate schema="xhtml.rng"/> <validate schema="wcag.sch"/> </namespace> </rules>