onlinetools.dev

Форматирование и проверка XML

Форматируйте, минифицируйте и проверяйте XML с точными позициями ошибок

Работает локально
loading…
Об этом инструменте

Этот инструмент форматирует XML с выбранным отступом, указывает на нарушения корректности (well-formedness) с точной строкой и колонкой и умеет минифицировать документ в одну строку. Комментарии, секции CDATA и XML-пролог переживают форматирование — удивительно многие форматтеры молча их съедают.

Проверка здесь означает well-formedness: правильно вложенные теги, атрибуты в кавычках, допустимые символы. Это ловит подавляющее большинство ошибок ручного редактирования — пропущенный слэш, незакрытый элемент, случайный амперсанд. Проверка по XSD-схеме сознательно оставлена за рамками: ей место в вашем сборочном конвейере, где есть файл схемы.

Конфиги, SOAP-нагрузки, RSS-ленты и манифесты Android регулярно содержат внутренние хосты и ключи. Всё разбирается локально — ничего не передаётся.

Частые вопросы

Почему мой XML падает с ошибкой «char … is not expected»?
Обычные подозреваемые — голый &, который должен быть &, значение атрибута без кавычек или теги, закрывающиеся в неверном порядке. Сообщение об ошибке содержит строку и колонку первого проблемного символа, а поле ввода его помечает.
Переупорядочивает или нормализует ли форматтер документ?
Нет. Элементы, атрибуты и их порядок сохраняются в точности; меняются только пробелы между элементами. Текст, делящий строку с разметкой, обрезается, а внутренние последовательности пробелов сворачиваются — если вы полагаетесь на значимые пробелы (xml:space="preserve"), держите такие участки минифицированными.
Что удаляет минификация?
Отступы и переводы строк между элементами, а также комментарии. Секции CDATA, инструкции обработки и пролог остаются. Результат разбирается идентично для любого потребителя, не зависящего от текстовых узлов из одних пробелов.
Умеет ли он проверять по XSD или DTD?
Нет — здесь проверяется только well-formedness. Проверка по схеме требует файла схемы и XSD-движка, и её лучше делать в вашем тулчейне (xmllint --schema или XML-библиотека вашего языка).
Похожие инструменты