TanodTools
RU

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

Вставьте XML, чтобы расставить отступы, сжать его или проверить корректность, с указанием строки и столбца любой ошибки.

Работает полностью в браузере

Оформление

Ввод до 10 МБ. Проверяется корректность XML (well-formed); сверка со схемой (XSD) или DTD не выполняется.

Как отформатировать и проверить XML

  1. Вставьте XML в поле или нажмите Вставить пример.
  2. Выберите 2 пробела, 4 пробела, табуляцию или Минифицировать, чтобы убрать пробельные символы между тегами.
  3. Если XML некорректен, вы увидите строку и столбец первой проблемы. В противном случае скопируйте или скачайте результат.

Форматирование XML без изменения содержимого

XML строг к структуре и свободен в оформлении: между двумя тегами можно поставить ничего, пробел или сто пустых строк, и документ будет означать то же самое. Поэтому ленты, ответы SOAP и экспортированные конфигурации часто приходят одной длинной строкой. Отступы для каждого вложенного элемента делают иерархию видимой и позволяют сравнивать построчно.

Многие форматировщики разбирают документ и записывают его заново, из-за чего могут незаметно переписать то, что вы не просили трогать: превратить © в обычный символ, изменить стиль кавычек или переупорядочить атрибуты. Этот инструмент читает текст токенизатором и использует каждый фрагмент в точности так, как он записан, добавляя или удаляя только пробельные символы между элементами. Затем он проверяет собственным XML-парсером браузера, что результат корректен.

Пробельные символы — единственное место, где XML не всегда свободен. В абзаце вроде <p>one <b>two</b> three</p> пробелы вокруг тегов принадлежат тексту, поэтому их перенос или удаление изменили бы то, что видит читатель. Поэтому элементы, смешивающие текст и теги, и элементы с пометкой xml:space="preserve" никогда не переформатируются.

Советы

  • Переносите данные между форматами? Используйте вместе с «Форматированием и проверкой JSON», чтобы читать обе стороны.
  • Форматируете веб-страницу, а не файл данных? Воспользуйтесь «Форматированием HTML», которое понимает пустые теги вроде <br>.
  • Хотите увидеть, что изменилось между двумя экспортами? Отформатируйте оба, а затем сравните их в «Сравнить тексты».

Вопросы и ответы

Загружается ли мой XML?

Нет. Документ проверяется и форматируется кодом, который работает в вашем браузере, поэтому файлы конфигурации, ленты и ответы API остаются на вашем устройстве.

Меняет ли форматирование мои данные?

Теги, атрибуты и текст копируются в точности так, как записаны. Сущности вроде &amp; и &#169;, разделы CDATA, комментарии, инструкции обработки и DOCTYPE не перекодируются и не переупорядочиваются. Меняются только пробельные символы между элементами.

Что происходит с текстом, смешанным с тегами?

Элемент вроде <p>Hello <b>world</b></p> смешивает текст и элементы, где важен каждый пробел, поэтому он остаётся ровно таким, как записан. То же относится к любому элементу с пометкой xml:space="preserve". Примечание под результатом сообщает, сколько таких элементов оставлено без изменений.

Что удаляет «Минифицировать»?

Только текст из одних пробельных символов между тегами, например переносы строк и отступы между элементами. Текст внутри элементов, смешанное содержимое и сохраняемые элементы не затрагиваются, поэтому минифицированный файл означает то же, что и исходный.

Чем well-formed отличается от valid?

Well-formed означает, что синтаксис верен: теги закрыты и вложены правильно, атрибуты в кавычках, один корневой элемент. Valid означает, что документ к тому же соответствует схеме или DTD. Этот инструмент проверяет первое: он сообщит о пропущенном закрывающем теге или атрибуте без кавычек, но не об элементе, который не допускает ваша схема.

Почему он отклоняет сущность HTML вроде &amp;nbsp;?

В самом XML определено только пять именованных сущностей: &amp;, &lt;, &gt;, &quot; и &apos;. Остальные, включая &nbsp;, требуют DOCTYPE, который их объявляет, или числовой формы вроде &#160;.