![XML の妥当性をチェックするための xmllint の代替手段](https://rvso.com/image/23561/XML%20%E3%81%AE%E5%A6%A5%E5%BD%93%E6%80%A7%E3%82%92%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%20xmllint%20%E3%81%AE%E4%BB%A3%E6%9B%BF%E6%89%8B%E6%AE%B5.png)
時々、大きな xml ファイルの妥当性を xsd ファイルと比較して確認する必要があります。私が受け取った最大の xml ファイルのサイズは 1.5 GB 近くあり、
xmllint
すべての RAM とほぼすべてのスワップ領域を占有し、合計メモリ使用量は 18 GB でした。その結果、検証プロセスは 24 時間続きました。
質問:xmllint --schema
ファイルをメモリにロードする代わりに、ストリーミング機能を利用するなど、メモリ消費量を抑える代替手段はありますか?
答え1
答え2
Linux システムのパッケージ ライブラリで、xmlcopyeditor を見つけました。XML ファイルのチェックと編集に使用しました。マニュアル ページには、「DTD/XML スキーマ/RELAX NG 検証、XSLT、XPath、プリティ プリント、構文の強調表示、折りたたみ、タグの補完/ロック、スペル/スタイル チェック、Windows では Microsoft Word ドキュメントのロスレス インポート/エクスポート」を行うと書かれていますが、実際にどの程度うまく機能するかはテストしていません。開始タグと終了タグが正しく一致しないとプリティ プリントが機能しないことはわかっています。 http://xml-copy-editor.sourceforge.net/