コマンドラインから DocBook 5 スキーマに対して XML ファイルを検証する最も簡単な方法は何ですか?
特に、いくつかのファイルに分割され、<xi:include href="..."/>
.
ここでの具体的な使用例は、OpenStack のドキュメントで提案されている変更でスキーマ違反を見つけることです。
oXygen GUI エディターでファイルを開くと、スキーマ違反が特定されますが、これらのチェックをコマンド ラインから実行できるようにしたいと考えています。
コマンドラインから DocBook 5 スキーマに対して XML ファイルを検証する最も簡単な方法は何ですか?
特に、いくつかのファイルに分割され、<xi:include href="..."/>
.
ここでの具体的な使用例は、OpenStack のドキュメントで提案されている変更でスキーマ違反を見つけることです。
oXygen GUI エディターでファイルを開くと、スキーマ違反が特定されますが、これらのチェックをコマンド ラインから実行できるようにしたいと考えています。
xmllint
私が必要なことをします、例えば:
xmllint --relaxng http://www.docbook.org/xml/5.0/rng/docbookxi.rng --noout ~/openstack-manuals/doc/src/docbkx/openstack-compute-admin/bk-compute-adminguide.xml
これにより、検証が成功したかどうかを示す文字列が出力されます。
/Users/lorin/openstack-manuals/doc/src/docbkx/openstack-compute-admin/bk-compute-adminguide.xml validates
これはひっかけ問題のように聞こえます。コマンド ラインからドキュメントを検証する場合は、コマンド ライン インターフェイスを使用して、考えているスキーマ言語のスキーマ バリデーターを取得する必要がありますね。それで、どのバリデーターがコマンドラインインターフェースを持っているのか尋ねていると思いますか?
いくつかの XSD バリデータには、コマンドライン インターフェイスがあります。アルファベット順に、 MSV (マルチスキーマバリデーター)、Saxon-EE、Xerces C、およびXerces Jが最初に頭に浮かびます。xmllint (libxml へのコマンドライン インターフェイス) とxsvにも部分的な XSD 実装があります。コマンドラインからMicrosoftのXSD実装の少なくとも1つを実行することも可能だと思いますが、見出しでOS Xについて言及しているように、それはあなたが行きたい場所ではないと思います.
RelaxNG バリデーターには、Jing、xmllint、および msv が含まれます。すべてにコマンドライン インターフェイスがあります。