非常に基本的な質問 - 私は xml ファイルを持っており、schematron ファイルに対して検証したいと考えています。Saxon コマンドラインを使用して行うにはどうすればよいですか?
コマンドラインリファレンスによると、schematron ファイルを指定するオプションはありません。
これを行う必要があり、十分な情報が得られなかったため、前の回答を拡張します (そして、私のスクリプトは既に 12 の XSL 変換を実行しているため、さらに 4 つあるでしょうか?)
この Web サイトに基づいて、XML ファイルは、一連の XSL 変換を通じてスキーマトロンに対して検証できます。saxon と組み合わせる方法についての情報も必要だったので、Windows ボックスでカタログ ファイルを使用した saxon の変更を次に示します。
以下は、コンピューターで saxon コマンド ラインを使用して 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"
ここで指摘しておくべき重要なことは、Saxon でカタログ ファイルを使用している場合は、resolver.jar ファイルに戻す必要があるということです。
だから
XSLT = java -cp "C:\FilePath\saxon9ee.jar;C:\FilePath\resolver.jar";. net.sf.saxon.Transform -catalog:"C:\FilePath\catalog.xml"
次に、Webサイトからの情報が理にかなっています(oXygenで必要な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 ファイルを取得し、3 つの変換を実行して xsl ファイルを取得し、それを元の xml ドキュメントで実行します。これにより、実際にスクリプトを作成するのが比較的簡単になります。
最後のコマンドは、実際に出力ファイルを作成したことはありません。STOUT がなくても問題なく動作し、メッセージを STOUT にダンプするので、そのままにして、そこから結果を収集します。
おそらく必要以上に詳しく説明して申し訳ありませんが、最初からこれだけあればよかったのにと思います。
いろいろ調べた結果、どうやら無理みたいです。最初に xsl ドキュメントを生成し、それを使用して検証を実行する必要があります。