I’ve had quite a few reports this week of organizations using Schematron. The latest is that the UK police use it to validate all the criminal records from 46 different forces, according to a post on the maillist. We are just starting to see the use of Schematron by standards committees, who are probably basking in the naughtiness of using RELAX NG (which really has become popular with committees who don’t want to compromise the idiomaticness of their XML languages, even the ones who would prefer XSD.)
I think Schematron has a really bright future, because of the rise of highly generic markup languages that use attribute values for semantic categorization. For these kind of languages, you need a grammar that works on attribute values, if you want to be able to constrain the information. So RELAX NG is usuable, but Schematron excells in this use. You might call these meta-schemas or architectural forms. For example, you could use Schematron abstract patterns to say “A conforming document must have at least 4 Dublin Core metadata elements”, then have instances of that abstract pattern to cope with ODF, Office Open XML, and XHTML.
Schematron is the only XML schema language I am aware of that has a built-in idea of schemas for information independent of the representation (abstract patterns). As XML becomes ubiquitous, and whenever standards efforts faulter due to commercial rivalries and differences of vision, there will be a need for validation of the information requirements independent of the structure. In fact, this is not a future requirement: many organizations will choose to homologate and consolidate schemas across their organization based on convenience and low-hanging-fruitfulness only, but not to go all the way to insisting only one common vocabulary or schema: organizations with 1000 data sources may find it easier to adopt 10 schemas rather than go all the way to a single schema. There will be a structure difference, and there may be semantic incompatabilities too. Abstract patterns in Schematron provide a mechanism for exposing, requiring and documenting the commonalities between different document types.