Развивая предыдущий ответ, потому что мне нужно было сделать это, и это не дает достаточно информации (и так как мой сценарий уже делает десяток XSL трансформирует - что еще четыре)
на основе this website XML-файл может быть проверен против схематрона посредством серии преобразований XSL. Так как мне также нужна была информация о том, как сочетаться с саксоном - вот модификации саксона, окна окна, с файлом каталога.
Вот как я запускаю XSLT через саксонской командную строку на компьютере (где 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"
Большая вещь, чтобы отметить здесь, что, когда вы используете файл каталога с саксоном вы должны указать его обратно в файл resolver.jar.
Так с
XSLT = java -cp "C:\FilePath\saxon9ee.jar;C:\FilePath\resolver.jar";. net.sf.saxon.Transform -catalog:"C:\FilePath\catalog.xml"
Затем информация с веб-сайта имеет смысл (найдя необходимые XSL файлы в кислороде):
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, я просто оставляю его и собираю результаты оттуда.
Извините за то, что вы входите в более подробную информацию, чем это возможно, но я бы хотел, чтобы у меня было все это для начала.