Открыть сервис

Тип данных XML

Тип данных XML — это формат представления структурированных данных в виде текстовых документов, основанный на синтаксисе расширяемого языка разметки (XML — eXtensible Markup Language). В отличие от HTML, XML не определяет фиксированный набор тегов для отображения информации, а предоставляет гибкие правила для создания собственных тегов, описывающих логическую структуру и смысл данных. Основное назначение XML — обеспечить универсальный, платформонезависимый и читаемый как человеком, так и машиной способ хранения, обмена и передачи информации между различными информационными системами, веб-сервисами и приложениями.

История и развитие

История XML восходит к стандарту SGML (Standard Generalized Markup Language), разработанному в 1980-х годах. В середине 1990-х годов, в связи с быстрым развитием Всемирной паутины, возникла потребность в более простом, чем SGML, но более гибком, чем HTML, языке разметки. Рабочая группа под эгидой Консорциума Всемирной паутины (W3C) во главе с Джоном Боcаком начала разработку XML. Первая спецификация XML 1.0 была опубликована в феврале 1998 года. XML быстро стал стандартом для представления данных, особенно в корпоративных информационных системах (B2B), веб-сервисах (SOAP, XML-RPC), а также в форматах файлов офисных пакетов (например, OOXML в Microsoft Office и ODF в LibreOffice). В 2000-х годах на смену XML в ряде областей (например, в конфигурационных файлах некоторых современных фреймворков) пришёл JSON, однако XML остаётся ключевым форматом для работы со сложными документами (например, электронные книги в формате EPUB, схемы XSD, XSLT-преобразования).

Структура XML-документа

XML-документ имеет иерархическую (древовидную) структуру, где элементы могут вкладываться друг в друга. Основными элементами документа являются:

Пролог (Prolog)

Необязательная часть, расположенная в начале документа. Она содержит:

Корневой элемент

Каждый корректный XML-документ должен содержать ровно один корневой элемент, в который вложены все остальные элементы. Он является началом и концом дерева данных.

Элементы (теги)

Основная строительная единица. Элемент состоит из открывающего тега (<имя>), содержимого (текста, других вложенных элементов) и закрывающего тега (</имя>). Пустые элементы (не содержащие текста) можно записать в сокращённой форме: <имя />.

Атрибуты

Дополнительные характеристики элемента, задаваемые в открывающем теге в виде пар «имя-значение»: <книга жанр="научная фантастика">. Значения атрибутов всегда заключаются в кавычки (одинарные или двойные).

Содержимое элементов

Комментарии

Текст, не являющийся частью данных и игнорируемый парсером: <!-- это комментарий -->.

Обработка пробелов

XML по умолчанию сохраняет все пробелы и переводы строк внутри текстового содержимого явно, что отличает его от HTML.

Классификация и валидация

XML-документы делятся на два типа по степени строгости:

  1. Правильно построенные (Well-Formed) — документы, строго следующие синтаксическим правилам XML: наличие одного корневого элемента, корректная вложенность (без перекрытия), правильное закрытие всех тегов, использование экранированных последовательностей для служебных символов (&lt; для <, &amp; для &).
  2. Действительные (Valid) — документы, которые не только правильно построены, но и соответствуют некоторой схеме (определению структуры). Схема задаёт набор допустимых элементов, их атрибутов, вложенность и типы данных.

Для валидации применяются:

Применение XML в различных областях

Веб-сервисы и обмен данными

XML является основой протоколов веб-сервисов, таких как SOAP (Simple Object Access Protocol) и WSDL (Web Services Description Language). В SOAP сообщения оформляются в виде строго структурированных XML-документов, содержащих заголовки (для маршрутизации, безопасности) и тело (с собственно данными запроса или ответа). В современной практике SOAP активно вытесняется REST-архитектурой, часто использующей JSON, но во многих legacy-системах и корпоративных решениях XML остаётся обязательным.

Конфигурационные файлы

Многие программные платформы используют XML для описания конфигураций. Примеры: web.xml (Java EE / Jakarta Servlet), app.config (Microsoft .NET Framework), файлы проект *.csproj, а также конфигурации серверов приложений (Apache Tomcat, WildFly). В последние годы на смену XML в этой роли всё чаще приходят JSON, YAML и TOML.

Форматы документов

Базы данных и интеграция

Некоторые NoSQL-системы (например, MarkLogic, eXist-db, BaseX) являются native XML-базами данных, хранящими и индексирующими XML-документы. Также распространён способ импорта/экспорта данных из реляционных баз в XML (например, при интеграции через ESB (Enterprise Service Bus) или ETL-процессы).

Преимущества и недостатки формата

Преимущества

Недостатки

Смежные технологии и расширения

Современный статус и тренды

Несмотря на то, что в веб-разработке начала 2020-х годов XML уступил позиции JSON как основной формат для API, особенно в REST-сервисах и приложениях на JavaScript, он сохраняет лидирующие позиции в корпоративных информационных системах. Многие протоколы финансового обмена (ISO 20022), HL7 в здравоохранении, FIXML в биржевой торговле, а также системы электронного документооборота в государственном секторе России (например, различные реестры и паспорта объектов) по-прежнему используют XML. ActiveX-объекты на основе XML и XML-апплеты (Java Web Start) в значительной степени устарели. В целом, XML остаётся фундаментальной технологией, на основе которой построены многие стандарты долговременного архивного хранения и межведомственного обмена данными.

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →