XML-файл: структура и назначение¶
XML-файл — это текстовый файл, содержащий данные, описанные в формате расширяемого языка разметки XML (Extensible Markup Language). XML-файл представляет собой иерархическую структуру элементов, заключённых в угловые скобки, и используется для хранения, обмена и представления данных в машиночитаемом виде. В отличие от форматов, ориентированных на отображение (например, HTML), XML описывает данные и их смысл, а не внешний вид.
¶История
XML разработан Консорциумом World Wide Web (W3C) как подмножество стандарта SGML (Standard Generalized Markup Language). Спецификация XML 1.0 опубликована в феврале 1998 года. Идея заключалась в создании простого формата, лишённого избыточности SGML, пригодного для обмена данными между системами разных типов. В России стандарт XML широко применяется с начала 2000-х годов, в частности в электронном документообороте и государственных информационных системах.
¶Структура XML-файла
XML-файл состоит из следующих компонентов:
- XML-декларация — необязательная первая строка вида
<?xml version="1.0" encoding="UTF-8"?>, задающая версию стандарта и кодировку. - Элементы — основные строительные блоки, заключённые в парные теги:
<имя>содержимое</имя>. Элементы могут быть вложенными друг в друга, формируя дерево. - Атрибуты — пары «имя-значение», размещаемые внутри открывающего тега:
<книга жанр="роман">. - Комментарии — фрагменты вида
<!-- комментарий -->, игнорируемые при обработке. - Секции CDATA — блоки
<![CDATA[ ... ]]>, в которых спецсимволы не интерпретируются. - Ссылки на сущности — например,
&для амперсанда,<для угловой скобки.
Пример минимального XML-файла:
``xml <?xml version="1.0" encoding="UTF-8"?> <библиотека> <книга жанр="роман"> <автор>Пушкин А. С.</автор> <название>Евгений Онегин</название> </книга> </библиотека> ``
¶Правила синтаксиса
XML предъявляет строгие требования к синтаксису:
- Все элементы должны быть корректно закрыты.
- Имена элементов чувствительны к регистру.
- Вложенность элементов должна сохраняться.
- Атрибуты указываются в кавычках.
- Корневой элемент должен быть ровно один.
- Структура должна быть валидной — соответствовать правилам DTD или XML-схеме (XSD), если такая задана.
Некорректный XML-файл не будет обработан — парсер выдаст ошибку.
¶Виды XML-файлов
| Тип | Назначение |
|---|---|
| Конфигурационные | Настройки программ и систем (web.config, pom.xml) |
| Документооборот | Электронные счета-фактуры, УПД, отчётность в ФНС |
| Обмен данными | Форматы обмена между информационными системами |
| Представление данных | XSLT-преобразования, SVG-графика |
| Метаданные | Описания ресурсов, RSS/Atom-ленты |
¶Связь с другими технологиями
XML-файлы обрабатываются с помощью парсеров (DOM, SAX, StAX) на разных языках программирования — Java, Python, C#, PHP, JavaScript. Для проверки структуры используются DTD (Document Type Definition) и XML Schema (XSD). Для преобразования XML в другие форматы применяется язык XSLT. Альтернативными форматами являются JSON и YAML, которые в ряде задач вытеснили XML из-за простоты и компактности, однако XML остаётся стандартом в корпоративных и государственных системах.
¶Применение
XML используется в электронном документообороте, включая отчётность в налоговую службу России (форматы ФНС). Он лежит в основе форматов Office Open XML (документы Word, Excel), OpenDocument, а также протоколов SOAP и REST-обмена. Конфигурационные файлы множества программных систем (Apache, Maven, Android-приложения) имеют расширение .xml.
¶Источники
- W3C Recommendation: Extensible Markup Language (XML) 1.0
- Бредли Н. XML. Полное руководство. — М.: Вильямс
- Список спецификаций XML на сайте W3C
