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

XML-документы

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

Основные характеристики

Структура и синтаксис

XML-документ состоит из иерархически организованных элементов, каждый из которых заключён в открывающий и закрывающий теги. Теги образуют дерево: корневой элемент содержит все остальные. Пример простого документа:

``xml <книга> <название>Война и мир</название> <автор>Лев Толстой</автор> <год>1869</год> </книга> ``

Ключевые синтаксические правила:

Пролог

В начале XML-документа может располагаться пролог — необязательная декларация, указывающая версию XML и кодировку. Пример:

``xml <?xml version="1.0" encoding="UTF-8"?> ``

Пространства имён

Для избежания конфликтов имён тегов при объединении данных из разных источников используются пространства имён (namespaces). Они задаются атрибутом xmlns:

``xml <root xmlns:book="http://example.com/books"; xmlns:auth="http://example.com/authors">; <book:title>1984</book:title> <auth:name>Джордж Оруэлл</auth:name> </root> ``

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

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

В 2004 году вышла вторая редакция XML 1.0, а в 2006 — XML 1.1, которая добавила поддержку новых символов Unicode, но не получила широкого распространения из-за обратной несовместимости. Начиная с 2010-х годов XML постепенно вытесняется в некоторых областях более лёгкими форматами, такими как JSON и YAML, однако остаётся стандартом в корпоративных системах, документообороте и научных публикациях.

Классификация XML-документов

По типу содержимого

По валидности

Схемы и валидация

Для описания допустимой структуры XML-документов используются схемы. Основные типы:

DTD (Document Type Definition)

Наиболее старый механизм, унаследованный от SGML. DTD определяет, какие элементы и атрибуты могут присутствовать в документе, а также их вложенность. Пример:

``dtd <!ELEMENT книга (название, автор, год)> <!ELEMENT название (#PCDATA)> <!ELEMENT автор (#PCDATA)> <!ELEMENT год (#PCDATA)> ``

XML Schema (XSD)

Более мощный и современный стандарт, основанный на XML-синтаксисе. Позволяет задавать типы данных (строки, числа, даты), ограничения на значения, а также поддерживает пространства имён. Пример фрагмента XSD:

``xml <xs:element name="год" type="xs:gYear"/> ``

Relax NG

Компактная альтернатива XSD, разработанная для упрощения написания схем. Поддерживает как XML-синтаксис, так и компактный текстовый формат.

Обработка XML-документов

Парсеры

Для чтения и разбора XML-документов используются парсеры, которые делятся на два основных типа:

Преобразования (XSLT)

XSLT (Extensible Stylesheet Language Transformations) — язык для преобразования XML-документов в другие форматы (HTML, текст, другой XML). Пример: преобразование XML-данных в веб-страницу.

Запросы (XPath и XQuery)

Применение

Программное обеспечение

Документооборот

Веб-технологии

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

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

Недостатки

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

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

На главную BFOmetr →