XML の妥当性をチェックするための xmllint の代替手段

XML の妥当性をチェックするための xmllint の代替手段

時々、大きな xml ファイルの妥当性を xsd ファイルと比較して確認する必要があります。私が受け取った最大の xml ファイルのサイズは 1.5 GB 近くあり、 xmllintすべての RAM とほぼすべてのスワップ領域を占有し、合計メモリ使用量は 18 GB でした。その結果、検証プロセスは 24 時間続きました。

質問:xmllint --schemaファイルをメモリにロードする代わりに、ストリーミング機能を利用するなど、メモリ消費量を抑える代替手段はありますか?

答え1

私はこれらのバリデータをテストしていませんが、頭に浮かんだことや少し調べたことは次のとおりです。

  1. XMLスターレット- 他の用途にも使えます
  2. msv- Sun マルチスキーマバリデータ
  3. HaXML- haskell xml ツールにはコマンドライン ユーティリティが含まれています (1 つはバリデータです)
  4. xsltproc起動時に文書も確認する必要がある

ほとんどのユーティリティは、たとえば のように、XML ドキュメントを自動的に検証するため、さらに多くのオプションがありますxsltproc

答え2

Linux システムのパッケージ ライブラリで、xmlcopyeditor を見つけました。XML ファイルのチェックと編集に使用しました。マニュアル ページには、「DTD/XML スキーマ/RELAX NG 検証、XSLT、XPath、プリティ プリント、構文の強調表示、折りたたみ、タグの補完/ロック、スペル/スタイル チェック、Windows では Microsoft Word ドキュメントのロスレス インポート/エクスポート」を行うと書かれていますが、実際にどの程度うまく機能するかはテストしていません。開始タグと終了タグが正しく一致しないとプリティ プリントが機能しないことはわかっています。 http://xml-copy-editor.sourceforge.net/

関連情報