Here’s some of the recent news on ISO Schematron!

  • My XSLT “skeleton” implementation (the latest version of the most commonly used version of Schematron) is available in beta from Schematron.com, as open source, non-viral. This version fully supports ISO Schematron (except for abstract patterns, for which a preprocessor has been contributed) and has a lot of input from members of the schematron-love-in maillist, it is shaping up nicely I think. (Notable contrabutions are from Ken Holman, Dave Pawson and Florent Georges.) A variety of different output formats are available as backends, including an ISO SVRL (Schematron Validation Report Language) XML format and a terminate-on-first-error backend.
  • Topologi’s Ant Task for Schematron is available now in beta from Schematron.com. The code will be available as open source, non-viral. Thanks for Allette System’s Christophe Lauret and Willi Ekasalim for doing the programming on this. It can output text to standard error or collate all the SVRLs into a single XML file.
  • Dave Pawson is writing a little online book ISO Schematron tutorial concentrating on using Schematron with XSLT2. I haven’t reviewed it thoroughly yet, but Dave has a good track record.
  • Mitre’s Roger Costello written up two pages Usage and Features of Schematron and Best way to phrase the Schematron assertion text that seem pretty sensible to me. Roger followed his usual method of asking people on the XML-DEV maillist and compiling the results.
  • Murata Makoto has been preparing the Japanese translation of ISO Schematron, to be used as the text for the Japanese Industrial Standard. He has also been translating other parts of ISO DSDL. The great thing about diligent translators such as Dr Murata and Dr Komachi is that they uncover many practical issues; in Schematron’s case there are a couple of paragraphs in the ISO standard that seem completely reasonable when you know what they are supposed to mean, but actually are pretty cryptic. Murata-san also has pointed out an improvement to the formal specification of Schematron in predicate logic. These are corrections not changes to the semantics, so they might be put through as a corrigendum (corrections procedure) at ISO; however, if the query binding for XSLT2 and EXLT becomes clear in the next month, I might just go for an addendum (a slightly different procedure) or newly dated version. (No existing stylesheets using the default bindings would become incorrect.) Of course, where a country’s national standards system works by adopting translations of international standards, it becomes really important to keep standards in synch: this requires both prompt action to correct problems in the original standard that the translation uncovers, as well as basic stability of the original standard: a moving target complicates life for translators and standardizers.