Расширяя предыдущий ответ, потому что мне нужно было это сделать, и он не дал достаточно информации (а поскольку мой сценарий уже выполняет дюжину XSL-преобразований - что еще четыре?)
На основе этого веб-сайта XML-файл может быть проверен на схематроне с помощью серии XSL-преобразований.Так как мне также нужна была информация о том, как комбинировать с saxon - вот модификации для saxon, на коробке с windows, с файлом каталога.
Вот как я запускаю XSLT через командную строку saxon на моем компьютере (где FilePath зависит от системы):
java -cp "C:\FilePath\saxon9ee.jar;C:\FilePath\resolver.jar";. net.sf.saxon.Transform -s:inputFile.xml -o:outputFile.xml -xsl:C:\FilePath\transform.xsl -catalog:"C:\FilePath\catalog.xml"
Важно отметить, что когда выиспользуя файл каталога с Saxon, вы должны указать его обратно в файл resolver.jar.
То есть с
XSLT = java -cp "C:\FilePath\saxon9ee.jar;C:\FilePath\resolver.jar";. net.sf.saxon.Transform -catalog:"C:\FilePath\catalog.xml"
Тогда информация с веб-сайта имеет смысл (найдя необходимый xslфайлы в oXygen):
XSLT -input=xxx.sch -output=xxx1.sch -stylesheet=iso_dsdl_include.xsl
XSLT -input=xxx1.sch -output=xxx2.sch -stylesheet=iso_abstract_expand.xsl
XSLT -input=xxx2.sch -output=xxx.xsl -stylesheet=iso_svrl.xsl
XSLT -input=document.xml -output=xxx-document.svrl -stylesheet=xxx.xsl
Вы берете файл schematron, запускаете его через три преобразования, чтобы получить файл xsl, который вы затем запускаете в исходном документе xml.На самом деле это делает сценарий относительно простым.
Последняя команда никогда не заполняла для меня выходной файл.Поскольку он работает нормально без одного и выводит сообщения в STOUT, я просто оставляю его и собираю результаты оттуда.
Извините, что углубился в детали, чем это, вероятно, необходимо, но я бы хотел, чтобывсе для начала.