Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Статья1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.08 Mб
Скачать

3. Платформа xml

XML (Extensible Markup Language) [2] – стандарт, который определяет синтаксис, позволяющий создавать собственные языки разметки документов. XML не содержит готового набора элементов разметки (тегов), а описывает правила создания собственных тегов.

Главным достоинством XML является отделение друг от друга структурной разметки, форматирующей (визуального представления) разметки и семантики разметки. Следует отметить, что XML как таковой не предписывает какой-либо конкретный смысл применяемой разметке. Семантику разметки определяют использующие документы XML приложения.

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

Главной конструкцией языка XML является XML-документ. Основными структурными единицами XML-документа являются элементы и атрибуты. XML-документ представляет собой набор вложенных друг в друга элементов, обладающих атрибутами. Элементы иерархически организуют информацию, содержащуюся в документе. Элементы упорядочены, соответственно, существует определённый порядок обхода документа, для атрибутов порядок следования не имеет значения. Иерархическая организация информации в XML описывается древовидной структурой (рис. 6).

<A a1="a1" a2="a2">

<B b="b"/>

<C c="c">

<H h="h1"/>

<H h="h2"/>

</C>

<D d="d">

<E e="e">

<F f="f">

<G g="g"/>

</F>

</E>

<I i="i"/>

<J j="j"/>

</D>

</A>

Рис. 6. XML-документ и дерево элементов

Таким образом, согласно спецификации XML, структура XML-документа представляет собой дерево упорядоченных элементов c атрибутами, такая структура соответствует основной предложенной структуре модели данных RM/T и позволяет промоделировать предшествование событий.

Описание структуры и ограничений целостности

Схема документа – это формальное описание структуры документа и семантических ограничений, накладываемых на содержащиеся в документе данные. Знание схемы XML-документа позволяет относить его к определённому классу.

Все языки описания схем можно разбить на две группы: основанные на грамматике (DTD, XML Schema, RELAX NG [3]) и основанные на правилах (Schematron [4]).

Языки, основанные на грамматике, сосредотачиваются на явном объявлении схемы документа и определяют закрытую модель содержания XML-документа, что означает невозможность добавления в XML-документ новых элементов без их предварительного определения в схеме. Такие языки позволяют описывать древовидную структуру XML-документа.

Языки, основанные на правилах, сосредотачиваются на проверке допустимости конкретных документов и определяют открытую модель содержания XML-документа. Каждое правило представляет собой ограничение целостности, выраженное языком XPath. С помощью правил можно обеспечить проверку допустимости ограничений, которые невозможно объявить в языках, основанных на грамматике. Такие языки позволяют описывать горизонтальные связи между элементами XML-документа и ограничения целостности.

Совместное использование языков, основанных на грамматике, и языков, основанных на правилах, позволяет описывать древовидные структуры с горизонтальными связями, то есть, структуры модели RM/T.

Операции с XML-документами

Объектная модель документа DOM (Document Object Model) [5] обеспечивает объектное представление XML-документов. Структура документа моделируется как дерево узлов-объектов различных типов (всего 12). Модель также включает полный набор низкоуровневых операций с узлами, то есть описывает функционально полную модель данных XML. Однако следует отметить, что, так как операции низкоуровневые, DOM предназначена, прежде всего, для программистов.

Для более высокоуровневого манипулирования XML-данными в платформе XML используются языки XPath [6, 7] и XQuery [8].

Язык XPath предназначен для адресации отдельных частей XML-документа. Основу языка составляют выражения различных типов, особо выделяются выражения пути – пути выборки. Пути выборки позволяют выбирать в XML-документе последовательность узлов в соответствии с разнообразными критериями.

Язык запросов XQuery предназначен для извлечения информации из любых участков XML-документа и оформления ее в виде элементов XML-документа. Для поиска информации в XML-документе в XQuery используются выражения XPath.

По сравнению с XPath одних из основных дополнений, предусмотренных в XQuery, является способность формировать новые узлы. Поэтому в XQuery определяется такое понятие как конструктор узлов. Конструктор узлов – это выражение, которое создает и добавляет к дереву документа новые узлы.

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

Следует отметить, что язык Query предназначен только для чтения данных, поэтому для обновления необходимо использовать DOM либо создавать собственные высокоуровневые средства на основе DOM.

Преобразование структуры XML-документа

Для преобразования структуры XML-документа используется язык XSLT [9, 10]. Таблица стилей, по которой идет преобразование, содержит правила, состоящие из двух частей: образцов для отбора узлов, предназначенных для преобразования, и шаблонов для построения преобразованных узлов. Результат преобразования может стать новым самостоятельным документом.

Модель данных XML

Из вышесказанного следует, что на основе языков платформы XML может быть построена модель данных. Структурой данных этой модели является дерево элементов с горизонтальными связями, задаваемое базовой спецификацией XML, языками описания схем Relax NG, Schematron, элементы дерева упорядочены. Ограничения целостности задаются с помощью языков Relax NG, Schematron. Операции осуществляются с использованием DOM, XPath и XQuery. Преобразование структуры XML-документа осуществляется с использование XSLT.

И эта модель данных позволяет описать предложенную интерпретацию модели RM/T.