ФОРМАТ · TEXT
XML
Дерево элементов с атрибутами, пространствами имён и текстом.
- Расширения
- xml
- MIME type
- application/xml; text/xml также зарегистрирован
- Представление
- text
- Потоковая обработка
- да
- Комментарии
- да
- Поддержка схемы
- XSD, DTD, Relax NG
- Порядок
- Порядок дочерних элементов значим; атрибутов — нет
- null
- Только соглашением, например xsi:nil при наличии схемы
- Diff
- Средняя: пробелы и namespaces создают шум
- Архивация
- Храните схемы и внешние зависимости
Преимущества
- Смешанный текст и развитые средства валидации
Ограничения
- Внешние сущности требуют осторожной настройки
Типичные ошибки
- Путать корректный XML с соответствием XSD
Маленький пример
<?xml version="1.0" encoding="UTF-8"?>
<items><item id="1">Сосна</item></items>
Среда: Python 3, ElementTree; доверенный небольшой файл, без проверки XSD.
python3 -c "import xml.etree.ElementTree as E; E.parse('example.xml')"