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

XML-технологии

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

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

Язык XML был разработан рабочей группой World Wide Web Consortium (W3C) под руководством Джона Боскака и Майкла Шперберга-Маккуина. Первая спецификация XML 1.0 была опубликована 10 февраля 1998 года. Создание XML преследовало цель преодолеть ограничения языка HTML (фиксированный набор тегов) и сложность SGML (Standard Generalized Markup Language), который был слишком громоздким для массового использования в интернете.

В 2000-е годы XML-технологии пережили бурный рост. Были разработаны сопутствующие стандарты: XSLT для преобразования XML-документов, XPath для навигации по структуре, XML Schema для описания структуры данных. В 2004 году вышла вторая редакция XML 1.0, исправлявшая неточности. К середине 2000-х XML стал доминирующим форматом для обмена данными в корпоративных информационных системах и веб-сервисах (SOAP, WSDL).

С появлением JSON в конце 2000-х годов XML частично утратил позиции в веб-разработке, однако остаётся стандартом в таких областях, как офисные форматы (Office Open XML, OpenDocument), электронные книги (EPUB), финансовая отчётность (XBRL) и многие промышленные протоколы.

Основные компоненты XML-технологий

Язык XML

XML представляет собой текстовый формат, в котором данные заключаются в теги, образующие иерархическую древовидную структуру. Каждый XML-документ должен соответствовать правилам корректности (well-formedness): иметь единственный корневой элемент, закрытые теги, корректную вложенность. Дополнительно документ может быть валидирован по схеме (validated), то есть проверен на соответствие определённой структуре, типам данных и ограничениям.

XML Schema (XSD)

XML Schema Definition (XSD) — язык описания структуры XML-документов, рекомендованный W3C в 2001 году. XSD позволяет задавать:

XSD пришёл на смену Document Type Definition (DTD), который имел ограниченные возможности по работе с типами данных и не поддерживал пространства имён.

XSLT (Extensible Stylesheet Language Transformations)

XSLT — язык преобразования XML-документов в другие форматы: HTML, PDF, Plain Text или другой XML. Преобразование выполняется на основе правил (шаблонов), сопоставляемых с узлами XML-дерева. XSLT 1.0 стал рекомендацией W3C в 1999 году, XSLT 2.0 — в 2007 году, XSLT 3.0 — в 2017 году. XSLT широко применяется для генерации веб-страниц из XML-данных, создания отчётов и конвертации документов.

XPath

XPath — язык запросов для навигации по XML-документу и выборки узлов. Использует путь к элементу, аналогичный файловой системе (например, /root/child/grandchild). XPath поддерживает фильтрацию по условиям, оси (предки, потомки, соседи) и встроенные функции. Версия XPath 1.0 (1999) является базовой для XSLT 1.0, XPath 2.0 (2007) и XPath 3.0 (2014) расширили возможности работы с последовательностями и функциями высшего порядка.

XQuery

XQuery — функциональный язык запросов к XML-данным, разработанный W3C (рекомендация 2007 года). Позволяет извлекать, фильтровать, агрегировать и преобразовывать XML-документы, аналогично тому, как SQL работает с реляционными базами данных. XQuery используется в XML-базах данных (например, eXist-db, BaseX) и для интеграции данных из разных источников.

Классификация XML-технологий

По функциональному назначению XML-технологии можно разделить на несколько категорий:

КатегорияПримеры технологийНазначение
Форматы данныхXML, XSD, DTDОпределение структуры и типов данных
ПреобразованиеXSLT, XSL-FOТрансформация XML в другие форматы
Навигация и запросыXPath, XQueryПоиск и извлечение данных
СвязываниеXLink, XPointerСоздание гиперссылок внутри XML
ПредставлениеXHTML, SVG, MathMLСпециализированные языки разметки
ПротоколыSOAP, XML-RPCОбмен данными в распределённых системах

Применение XML-технологий

Веб-сервисы

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

Электронный документооборот

Форматы Office Open XML (OOXML, используемый в Microsoft Office) и OpenDocument (ODF, используемый в LibreOffice) основаны на XML. Это позволяет программно создавать, редактировать и конвертировать документы без участия пользователя. XML также применяется в системах электронного архивирования и юридически значимого документооборота.

Базы данных

Существуют нативные XML-базы данных (например, eXist-db, MarkLogic, Sedna), которые хранят данные в виде XML-документов и поддерживают запросы на XQuery. Многие реляционные СУБД (Oracle, PostgreSQL, Microsoft SQL Server) имеют встроенную поддержку XML-типов данных и функций для работы с ними.

Финансовая отчётность

XBRL (eXtensible Business Reporting Language) — специализированный XML-стандарт для обмена финансовой отчётностью. Используется регуляторами (например, Центральным банком РФ, SEC в США) для автоматизированного сбора и анализа отчётности компаний.

Промышленность и наука

В технических областях XML применяется для описания конфигураций, обмена данными между CAD-системами, хранения результатов экспериментов. Например, формат SVG (Scalable Vector Graphics) для векторной графики, MathML для математической разметки, CML (Chemical Markup Language) для химических данных.

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

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

Недостатки

Интересные факты

Источники

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

На главную BFOmetr →