Some of the presentations are up at the preliminary proceedings of the Basilage 2009 Conference, and for its side meeting International Symposium on Processing XML Efficiently: Overcoming Limits on Space, Time, or Bandwidth. It looks like it was another really stimulating conference, and I envy people for being close to all that mental action.
Looking over the papers, a few stand out:
Josh Lubell from the US NIST is a guy who really seems to see what I see in Schematron, or at least, he has to deal with a set of problems for which Schematron is pretty good. I heartily recommend his paper Documenting and Implementing Guidelines with Schematron which is probably the best presentation on Schematron I have read. Lubell positions Schematron more in the literate programming tradition and values its cross-cutting features.
He points out that there is a class of guidelines which are really important in modern schemas, and that there are both guidelines that apply to documents (business rules) and guidelines that apply to schemas (Naming and Design Rules): Schematron can be used for both.
The next paper of interest is Jacques Durand Test Assertions on steroids for XML artifacts and frankly it made me pretty angry, in parts, though I thought it was a good paper overall. The paper is about the OASIS Test Assertion Guidelines effort (TAG), which is very interesting and powerful.
But he has a little section contrasting TAG with Schematron, and he says some things there that are just complete rubbish: for example:
variables are missing in Schematron.
Then it turns out he using Schematron 1.5. But variables were added in Schematron 1.6 in 2002, and are certainly part of ISO Schematron. Only seven years out of date. I guess the problem really is that there are developers of Schematron systems who never bothered to upgrade. But giving a paper to say that you discovered that something is missing a feature it in fact has...it is not the path to credibility.
That aside, Durand makes a lot of good points. Schematron indeed does not have a system for chaining rules: in the ISO DSDL schema of things, we have been waiting for the arrival and evaluation of W3C XProc to provide chaining of tests: of course, Schematron's phase mechanism and parameterization allows the same schema to be used for a succession of patterns. And, furthermore, since the SVRL output of a Schematron schema can itself be tested with a Schematron schema (using, for example, the flags and roles atributes), the issue becomes more one of architecture. Indeed, it is possible to take the view that the trick is trying to arrange schemas that don't require higher order logic, to be practicable.
It was interesting to read of the TAG test model, and its requirements for a Test Assertion. I would argue that actually a Schematron assertion can meet the criteria:
it can have an ID, it has a source (the assertion text), it has a target (the @context, well the @subject strictly), it has a prerequisite (the exclusion of all previous content paths within the same pattern), it has a predicate (the assert/@test test), and it can have a prescription level (using the @role on the assert or on an associated diagnostic.)
It would certainly be possible (but inefficient) to make a Schematron validator that returned the Reporting structures with the notQualified result available too. Indeed, it may be a good thing to double check, since I am just working on the text for the next version of ISO Schematron standard.
The thing that is frustrating, is that it would be great if potential users of standards such as Schematron would bother to give feedback and figure out how to enhance each others' work rather than rushing off into NIH. Ho hum. Nevertheless, I think OASIS CAM and OASIS TAG are two really good initiatives which Schematron and DSDL can learn a lot from from, and I certainly wish them well, regardless of any minor grumpiness on this or that.