XSV
使用方法

XSVのコマンドライン引数

xsv  検証するファイル  [スキーマのファイル...]

xsv  -o  結果出力ファイル  検証するファイル  [スキーマのファイル...]

結果の出力がXML形式なので、上記のように結果をファイルに出力させてブラウザで見るのが見やすいでしょう。

スキーマのファイルの指定は、検証するXML文書内に schemaLocation または noNamespaceSchemaLocation の指定があれば必要ありません(指定しても問題はありません)。

結果を画面に表示

xsv  letter.xml

結果をファイルに出力

xsv  -o  result.xml  letter.xml

結果をファイルに出力(HTMLに変換)

xsv  -s  "C:\Program Files\XSV\xsv.xsl"  -o  result.xml  letter.xml

HTMLに変換する際、若干情報量が減っているので注意しましょう。 HTMLのメッセージでよくわからない場合には、元のtreeを読んでみることをお勧めします。

XSVの出力するメッセージについて

UnicodeError

XSVで、何も表示されずに終了したり、以下のエラーが出たりする場合があります。

UnicodeError: ASCII decoding error: ordinal not in range(128)

このような場合、検証しようとしているファイルが日本語の名前のフォルダ (あるいはその下位のフォルダ)に入っていないか確認してみてください。 該当する場合、 D:\XML といった半角英数字だけの場所に移してから再度実行してみてください (Thanks 澤くん)。

notASchema

XSVは、与えられたXML文書が妥当な文書、つまり、スキーマに違反していない文書かどうかを検証するものです。 スキーマ自体にエラーがある場合には、スキーマとして指定されている文書がスキーマでない(notASchema)というエラーになります。 このとき、最終的に「スキーマファイルが開けない」というエラーになりますが、 ファイル自体が見つけられないわけではありませんので注意してください。

not allowed here...expect...

検証しているXML文書と、スキーマの記述に矛盾があります。 XML文書でスキーマに書かれていない要素を使っていないか、 elementがsequence,allなどの子要素になっているか、 確認してみてください。