Dies ist etwas peinlich, dass ich das nicht früher bemerkt habe, aber ich habe etwas herausgefunden. Ich habe immer noch keine Validierungsmethode gefunden, die ein einzelnes RELAXNG-Schema mit eingebettetem Schematron korrekt verarbeitet, aber ich habe einen Weg gefunden, mein DocBook 5-Dokument korrekt zu validieren.
Es stellt sich heraus, dass DocBook 5.0 nicht den ISO-Standard von Schematron verwendet, sondern Schematron 1.5. Aus diesem Grund scheiterten meine Versuche, die Schematron-Regeln mithilfe der ISO-Schematron-Ressourcen zu extrahieren und zu validieren. Die Verwendung der unter http://www.topologi.com/resources/schtrn_xsd_paper.html#Processing beschriebenen XSL-Skripts und -Methode (unbedingt die veralteten Dateien RNG2Schtrn.xsl und XSD2Schtrn.xsl, die mit Schematron 1.5 arbeiten) waren erfolgreich.
Der Kern ist:
Verwenden Sie eine XSL-Datei (
RNG2Schtrn.xsl
), um die Schematron 1.5-Regeln aus dem RELAXNG-Schema zu extrahierenVerwenden Sie die XSL-Dateien für die Schematron 1.5-Validierung (
schematron-basic.xsl
unter http://xml.ascc.net/schematron/1.5/basic1-5/schematron-basic.html ), um eine Validierungs-XSL-Datei aus den Schematron-Regeln für das DocBook-Dokument zu erstellen.Verarbeiten Sie das DocBook-Dokument mit der in Schritt 2 erstellten Validierungs-XSL und suchen Sie nach Fehlern in der Ausgabe.
Verwenden Sie ein Tool, das RELAXNG-Schemas verarbeiten kann, um den Rest des DocBook-Dokuments zu überprüfen.