Альтернатива xmllint для проверки валидности XML

Альтернатива xmllint для проверки валидности XML

Иногда мне приходится проверять валидность некоторых больших xml-файлов по xsd-файлу. Самый большой xml-файл, который я получил, имел размер около 1,5 ГБ. xmllintзанял всю мою оперативную память и почти все пространство подкачки, что в общей сложности составило 18 ГБ. Следовательно, процесс валидации продолжался 24 часа.

Мой вопрос: есть ли альтернатива, xmllint --schemaкоторая потребляет меньше памяти, возможно, используя какие-то потоковые функции вместо загрузки файла в память?

решение1

Я не тестировал эти валидаторы, но из первых уст / небольшого поиска:

  1. XMLStarlet- может использоваться и для других целей
  2. msv- Многосхемный валидатор Sun
  3. HaXML- haskell xml tools содержит утилиты командной строки (одна из них является валидатором)
  4. xsltprocтакже следует проверить документы при запуске

Существует гораздо больше возможностей, поскольку большинство утилит автоматически проверяют XML-документ, например xsltproc, .

решение2

В библиотеке пакетов моей системы Linux я нашел xmlcopyeditor. Я использовал его для проверки XML-файла, а также для его редактирования. На странице руководства утверждается, что он делает "проверку DTD/XML Schema/RELAX NG, XSLT, XPath, удобную печать, подсветку синтаксиса, сворачивание, завершение/блокировку тегов, проверку орфографии/стиля и, в Windows, импорт/экспорт документов Microsoft Word без потерь". Но я на самом деле не проверял, насколько хорошо он делает что-либо из этого. Я знаю, что удобную печать не работало, пока начальный и конечный теги не совпадали должным образом. http://xml-copy-editor.sourceforge.net/

Связанный контент