Single-Sourcing Schemata Buzzwords Single Source Publishing Das Single-Sourcing Konzept macht auch vor Schemata nicht halt. Aus einer Quelle in der RelaxNG Kompaktform können alternative Ansichten in anderen Schema-Sprachen erzeugt werden, wie bspw. XML Schema (XSD).
Ein Shell-Skript, das den Prozess aufruft, könnte z.B. so aussehen:
#!/bin/sh echo "converting from RelaxNG compact form to RelaxNG XML form..." trang -I rnc -O rng test.rnc test.rng echo "extracting embedded schematron rules from RelaxNG schema..." saxon -s:test.rng -o:test.sch -xsl:rng2sch.xsl echo "converting RelaxNG schema to XML Schema..." trang -O xsd test.rng test.xsd echo "converting schematron rules to XSLT..." saxon test.sch validation/schematron/iso_dsdl_include.xsl | \ saxon -s:- validation/schematron/iso_abstract_expand.xsl | \ saxon -s:- validation/schematron/iso_svrl_for_xslt2.xsl > test.xsl echo "Done!"Plain Text
Ein unpoliertes Skript zum Extrahieren der Schematron Regeln Schematron aus der RNC habe ich auf Github gefunden.