Валидатор XML
Проверьте, что документ XML правильно сформирован, прежде чем публиковать ленту, карту сайта, SVG-файл или файл конфигурации. Валидатор проверяет теги, атрибуты, вложенность и символы, а также сообщает о первой проблеме, указывая строку, столбец и объяснение анализатора, например если закрывающий тег не соответствует открывающему. Для правильно сформированных документов отображаются корневой элемент, количество элементов и атрибутов, а также глубина вложенности. Проверяется правильность формирования, но не соблюдение правил DTD или XSD.
Часто задаваемые вопросы
Чем корректный с точки зрения синтаксиса XML отличается от допустимого XML?
Правильно сформированный XML соответствует основным правилам синтаксиса: содержит один корневой элемент, правильно вложенные и закрытые теги и атрибуты в кавычках. Корректный XML также соответствует DTD или схеме XML, в которой определены допустимые элементы. Этот инструмент проверяет правильность формирования — это обязательное условие для любого анализатора XML.
Что именно проверяется?
Валидатор проверяет, что в документе ровно один корневой элемент, все теги закрыты в правильном порядке, имена тегов и атрибутов допустимы, значения атрибутов заключены в кавычки и не повторяются, а за пределами элементов нет лишних символов. Объявление XML, комментарии, секции CDATA и инструкции обработки допустимы.
Что означают типы ошибок?
Ошибки делятся на четыре группы: структура документа, теги, атрибуты и символы. В строке ошибки простым языком указана группа, а в строке с подробностями приведено точное объяснение анализатора, например какой тег ожидался. В обоих случаях указаны строка и столбец, где обнаружена проблема.
Почему отклоняется атрибут без значения?
HTML допускает логические атрибуты, такие как <input disabled>, но в XML у каждого атрибута должно быть значение в кавычках. Укажите disabled="disabled" или удалите атрибут. Это же правило действует для файлов SVG и XHTML.
Можно ли с его помощью проверить HTML?
Только XHTML, который HTML записывается как XML. В обычном HTML элементы, такие как <br> или <img>, могут оставаться незакрытыми, а атрибуты — без кавычек. В XML это запрещено, поэтому такой документ обычно считается некорректно сформированным.
Поддерживаются ли объявления DOCTYPE и сущности?
DOCTYPE с объявлениями сущностей принимается при проверке синтаксиса, но сущности никогда не раскрываются, а внешние файлы не загружаются. Это позволяет быстро и безопасно выполнять проверку, защищая от атак с раскрытием сущностей. Предопределенные сущности, такие как & и <, всегда разрешены.
Поддерживаются ли пространства имен?
Имена с префиксами, такие как svg:rect или xsi:schemaLocation, допускаются в качестве имен элементов и атрибутов. Валидатор не разрешает URI пространств имен и не проверяет, объявлен ли каждый префикс.
Что показывают статистические данные для корректного документа?
Корневой элемент — это самый внешний тег. Elements показывает количество всех элементов, включая корневой, а Attributes — количество всех атрибутов в документе. Максимальная глубина — это самый глубокий уровень вложенности, где корневой элемент находится на уровне 1. Эти числа помогают убедиться, что лента или экспорт содержат все ожидаемые данные.
Как считаются номера строк и столбцов?
Оба отсчитываются от начала входных данных с 1. Позиция указывает место, где анализатор обнаружил проблему; для незакрытого тега это может быть сам открывающий тег. Сообщается только о первой ошибке.
Каков максимальный размер XML и можно ли его преобразовать?
Размер входных данных может достигать 5 MiB. Чтобы преобразовать правильно сформированный документ в JSON, YAML, CSV или другой формат, воспользуйтесь конвертером форматов данных или инструментом XML в JSON.