Формат XML
XML — соглашение о том, как записывать структурированные данные: угловые скобки, вложенные элементы, атрибуты и ровно один корневой элемент на файл. Внешнего вида в нём нет вообще, поэтому вопрос «как открыть XML» правильнее звучит как «чем его прочитать»: любым текстовым редактором, браузером или программой, которая знает конкретную схему. Мы .xml не принимаем ни на одном маршруте.
Коротко о цифрах
- Правило корня
- ровно один корневой элемент на файл
- Предопределённых сущностей
- пять: lt, gt, amp, quot, apos
- Пролог
- первая строка задаёт версию и кодировку файла
- Регистр
- различается: Item и item — разные элементы
- Наши маршруты
- .xml не принимает ни один из них
Почему XML нельзя открыть «как документ»
У формата нет слоя оформления. Элемент с именем «дата» ничего не говорит о том, где эта дата стоит на листе и каким кеглем набрана. Вид появляется только тогда, когда к данным приложили преобразование: таблицу стилей XSLT, шаблон отчёта или программу, которая знает, что делать с этими именами.
Отсюда вторая особенность: XML строг там, где HTML прощает. Незакрытый тег, амперсанд без экранирования, два корневых элемента, сбитая кодировка в прологе — и разбор останавливается с ошибкой вместо того, чтобы догадаться. Браузер в таком случае показывает не документ, а сообщение о месте, где сломался разбор.
Где XML лежит внутри знакомых файлов
- DOCX: текст абзацев в word/document.xml, оформление в отдельном файле стилей.
- XLSX: листы в xl/worksheets, повторяющиеся строки вынесены в общую таблицу.
- PPTX: по одному файлу на слайд в ppt/slides.
- ODT и ODS: content.xml внутри такого же ZIP-контейнера.
- SVG, FB2 и ленты новостей — это XML целиком, без всякой упаковки.
- Практический вывод: архиватор открывает офисный файл, и его содержимое оказывается обычным текстом, который можно прочитать глазами.
Как довести XML до PDF
- Решите, как должен выглядеть готовый документ: таблица, бланк, список — данные сами этого не подскажут.
- Преобразуйте XML в HTML: таблицей стилей XSLT, коротким скриптом или выгрузкой из программы, которая эти данные породила.
- Соберите разметку в один файл: стили внутрь, изображения по абсолютным адресам или в base64.
- Загрузите .html в наш конвертер и получите A4 с полями 0,4 дюйма.
- Другой путь для табличных данных: импортируйте XML в редактор таблиц, сохраните книгу и переведите её в PDF офисным маршрутом.
Чего мы не делаем
- Маршрута для .xml нет — файл будет отклонён по расширению до всякой обработки.
- Переименование в .html технически пройдёт, но толку не даст: браузер не знает ваших имён элементов и покажет один сплошной текст без структуры.
- Схему и содержимое мы не проверяем: соответствие XSD — задача принимающей системы, а не конвертера.
- Если файл выгружен для отправки в чужой сервис, требования к нему уточняйте у этой стороны — мы их не знаем.
Частые вопросы
Чем открыть XML, чтобы его было видно?
Любым текстовым редактором с подсветкой синтаксиса — он покажет вложенность отступами и позволит свернуть ветки. Браузер тоже разберёт файл и нарисует дерево, если разметка корректна.
Почему браузер пишет ошибку разбора вместо содержимого?
Значит, документ не является правильно оформленным: где-то не закрыт тег, стоит голый амперсанд или в файле два корневых элемента. Строгость здесь заложена в спецификацию, и разбор прекращается на первой же ошибке.
Правильно оформленный и валидный — это одно и то же?
Нет. Правильно оформленный означает, что синтаксис соблюдён и файл разбирается. Валидный — что структура ещё и соответствует схеме: нужные элементы на месте, лишних нет, типы значений совпадают.
Можно ли загрузить XML к вам напрямую?
Нет, такого маршрута не существует и файл будет отклонён по расширению. Преобразуйте данные в HTML любым удобным способом, а печать этой разметки в PDF мы возьмём на себя.