時々、大きな 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/