Форматирование и минификация XML - отступы или сжатие
Форматирование и минификация XML
Что делает этот инструмент
XML обычно приходит от машины, одной бесконечной строкой: RSS-лента, карта сайта, ответ API, файл настроек. Эта страница возвращает ему структуру, чтобы его можно было читать, и снова убирает её, когда нужна компактная версия.
Как пользоваться
- 1 Вставьте XML: целую ленту или один элемент.
- 2 Выберите отступ и нажмите «Форматировать» или «Минифицировать».
- 3 Текст меняется в том же поле: скопируйте его или нажмите «Отменить».
XML это не HTML, и разница кусается
В HTML горстка элементов не закрывается никогда: <link>, <br>, <img>. В XML ничего особенного нет, а <link> встречается в каждой RSS-ленте, обёрнутый вокруг адреса. Форматировщик, перенёсший правило HTML в XML, начиная с этого места сдвигает отступ на уровень и оставляет закрывающий тег без пары. Здесь это правило выключено.
CDATA это содержимое, а не разметка
Секция CDATA существует именно затем, чтобы кусок текста мог содержать угловые скобки и не разбираться. Ленты постоянно используют её для HTML статей. Её тело проходит здесь нетронутым: без переотступов, без экранирования, без схлопывания пробелов, потому что любое из этого изменило бы то, что видит читатель ленты.
Пробелы между элементами обычно свободны, внутри текста нет
Отступ между двумя тегами ничего не значит для парсера, поэтому минификация его убирает. Но в смешанном содержимом - тексте с элементами внутри - пробел это часть данных, и здесь такие пробелы сохраняются. Осторожный выбор: читалка лент, показывающая «одиндва» вместо «один два», это ошибка, которую никто не проследит до форматировщика.
Он форматирует, а не проверяет
Пропущенный закрывающий тег или заблудившийся амперсанд получат отступ вместе со всем остальным: инструмент работает с текстом, а не с разобранным документом. Это намеренно: валидатор, молча чинящий ваш файл, прячет ровно то, ради чего вы его открыли. Если вывод выглядит неправильно, ищите несоответствие, которое он только что показал.