logo search
ответы осапр

Доступ к xml-документам

Для доступа к XML-документам разработаны объектная модель документа DOM и языки запросов XPath и XQuery.

Спецификация DOM, предложенная консорциумом W3C, вводит модель XML-документа DOM в виде иерархии его элементов и язык запросов XPath(XML Path Language), позволяющий ссылаться на части XML-документов (на те или иные элементы).

Прикладной интерфейс на основе DOM позволяет прикладным программам обращаться к структурам документов, извлекать, добавлять, изменять или удалять отдельные элементы или атрибуты. Спецификация DOM создана для использования практически с любым языком программирования.

XPath обеспечивает синтаксис и семантику для запросов и ссылок на содержимое XML-документов. Если язык SQL служит для обращений к содержимому реляционных баз данных, то язык XPath предназначен для обращений к содержимому баз XML-документов. Выражение XPath представляют собой указание пути к узлу XML-документа в иерархической DOM-модели этого документа. Так, запрос "найти элементы 'termin' " при обращении к словарю приведенного в "Язык XML" примера с помощью XPath-выражения dictionary/item/termin позволит получить список всех терминов словаря, а запрос dictionary/item/termin[@group='networks'] список только тех терминов, у которых атрибут group равен 'networks'.

Список некоторых операций и операторов языка XPath приведен в табл. 1.

Таблица 1    

Оператор

Описание

/

Выбирает дочерние элементы коллекции, находящейся слева от него. При использовании в начале шаблона означает поиск от корневого элемента.

//

Рекурсивный спуск; ищет указанный элемент на любой глубине. При использовании в начале шаблона означает рекурсивный поиск от корневого элемента.

.

Текущий контекст.

*

Wildcard, выбирает все элементы, независимо от имени.

@

Атрибут; префикс имени атрибута. При использовании без имени атрибута выбирает все атрибуты, независимо от их имени.

:

Сепаратор пространств имен. Отделяет префикс пространства имен от имени элемента или атрибута.

( )

Группирует операции для явного задания очередности.

[ ]

1. Накладывает фильтр. 2. Используется для индексации коллекции.

+

Сложение.

-

Вычитание.

div

Деление с плавающей точкой (согласно IEEE 754).

*

Умножение.

mod

Возвращает остаток при делении с остатком.

Предложены и другие языки обращений к XML-документам, например гибкий язык запросов XQuery или язык XSLT (XSL Transformations). В языке XQuery запросы представляют собой последовательность выражений, задающих возвращаемые узлы, которыми могут быть элементы и атрибуты XML-документов. Язык XSLT — подмножество XSL, предназначенное для преобразования одних XML-документов в другие документы XML, HTML или документы некоторых других форматов. Как XQuery, так и XSLT используют правила языка XPath. Результатом распространения DOM на мультимедийные данные является язык SMIL — Synchronized Multimedia Integration Language.

При использовании современных Web-браузеров возможна привязка XML-документа к HTML-странице. Например, в Internet Explorer, начиная с пятой версии, для этой цели предусмотрен тег <XML>. Например:

<XML ID="имя_для_доступа_к_XML-документу"

SRC="имя_файла_XML-документа"> </XML>

Сцепление осуществляется с помощью некоторых HTML-тегов, например тега <SPAN>:

<SPAN DATASRC="#имя_для_доступа_к_XML-документу"

DATAFLD="элемент_XML-документа"> </SPAN>

Теперь "элемент_XML-документа" сцеплен с тегом <SPAN> и может быть отображен браузером с помощью записи строки

<SPAN параметры_стиля> элемент_XML-документа </SPAN>