xmllint — консольная утилита для работы с XML
xmllint [--version | --debug | --shell | --debugent | --copy | --recover | --noent | --noout | --htmlout | --nowrap | --valid | --postvalid | --dtdvalid URL | --timing | --repeat | --insert | --compress | --sgml | --html | --push | --memory | --nowarning | --noblanks | --format | --testIO | --encode encoding | --catalogs | --nocatalogs | --auto | --xinclude | --loaddtd | --dtdattr | --dropdtd] [XML-файл...]
Программа xmllint обрабатывает один или несколько XML файлов, указанных в строке запуска как XML-файл. xmllint создаёт разные варианты вывода в зависимости от выбранных опций. Программа полезна для выявления ошибок в коде XML файла или в самом парсере.
xmllint является частью библиотеки libxml2.
Показать версию используемой библиотеки libxml2.
Обработать файл и вывести с комментариями структуру представления документа в памяти.
Запустить командную среду. Подробности о доступных командах среды описаны дальше.
Включить отладку сущностей (entities), указанных в документе.
Тестировать реализацию внутреннего копирования. Как правило, просто копирует документ на стандартный вывод.
Вывести любую обрабатываемую часть испорченного документа.
Заменять ссылки на сущности их значениями. По умолчанию xmllint оставляет в документе ссылки на сущности. Эта опция полезна вместе с --postvalid для проверки документов, или при использовании сущностей в значениях атрибутов.
Отключает вывод. По умолчанию xmllint выводит результирующую структуру документа.
Вывести результат в формате HTML. Добавляет в вывод необходимые HTML-теги, позволяющие просмотреть результирующий вывод в браузере.
Не выводить начальное объявление HTML и завершающие теги.
Проверить соответствие документа (validating) объявленному типу документа (например, DTD). Можно явно указать тип документа для проверки с помощью опции --dtdvalid. По умолчанию xmllint также проверяет, что документ правильно сформирован (well-formed), то есть соответствует правилам разметки XML.
Полезно использовать эту опцию вместе с --noout, тогда проверочные сообщения не будут путаться с выводом самого документа.
Документы, объединённые с помощью опции --xinclude, нужно проверять опцией --postvalid.
Проверить соответствие документа типу документа после его разбора и обработки.
Проверять соответствие типу документа, указанному в URL.
Выводить информацию о времени, затраченном на выполнение различных действий.
Повторить операцию 100 раз, используется для определения производительности.
Тестировать допустимость вставок.
Включить gzip-сжатие вывода.
Использовать DocBook SGML парсер. Позволяет создавать в памяти представление документа, созданного в формате DocBook SGML, и обрабатывать его как созданный в XML.
Использовать HTML парсер.
Использовать “push” режим парсера.
Обрабатывать в памяти.
Не выводить предупреждающие сообщения (warnings).
Выбрасывать игнорируемые пробельные символы.
Переформатировать и переделать сдвиги в выводе.
Тестировать возможности ввода/вывода.
Кодировать вывод в указанной кодировке. Кодировка в объявлении XML устанавливается автоматически.
Использовать файлы каталогов (catalogs) из переменной SGML_CATALOG_FILES. Иначе используется каталог по умолчанию — /etc/xml/catalog.
Не использовать любые каталоги.
Вывести небольшой документ для тестирования.
Обрабатывать включения документов по стандарту XML Inclusions (XInclude). По умолчанию xmllint не выполняет такие включения.
В libxml2 до версии 2.4.25 объединение большого количества документов требовало очень много ресурсов и времени. С версии 2.4.25 код включений серьёзно переписан и надобности в больших ресурсах нет.
Для проверки документов, использующих включения, нужно пользоваться опцией --postvalid.
Загрузить внешний тип документа. Эта опция полезна для разрешения сущностей, объявленных во внешнем типе документа, при объединении нескольких включаемых документов в один.
Загрузить внешний тип документа и построить дерево с унаследованными атрибутами.
Удалить объявление типа документа из вывода.
xmllint позволяет использовать интерактивный режим команд (опция --shell).
Команды интерактивного режима:
Показать XML базу узла.
Выйти из режима команд.
Показать текущий узел, или указанный [node].
Перейти к указанному узлу, или к корневому, если узел [path] не указан.
Сохранить информацию узла (пространство имён, атрибуты, содержимое).
Показать структуру поддерева от указанного [path] узла, или от текущего, если не указан.
Выйти из режима команд.
Показать справку.
Показать информацию об использовании памяти.
Загрузить документ, указанный name.
Показать содержимое [path] или текущего каталога.
Показать путь к текущему узлу.
Выйти из режима команд.
Сохранить текущий документ с указанным [name] или с оригинальным именем.
Проверить документ на ошибки (соответствие объявленному типу, правильность XML).
Записать текущий узел в файл с указанным name именем.