XML - статьи

XQuery


В качестве языка запросов, применимого к источникам XML-данных разнообразных типов, Консорциум Всемирной Сети [2] позиционирует язык XQuery [5]. Хотя на момент написания настоящей статьи язык XQuery еще не был переведен из чернового статуса в статус официальной Рекомендации Консорциума, уже можно с уверенностью говорить о том, что в своей текущей версии XQuery не предоставляет средств по обработке ссылок языка XLink в соответствии со Спецификацией XLink, что подтверждается следующими соображениями:

  • Описания ссылок языка XLink строятся на сложном и многословном синтаксисе, базирующемся на пространстве имен и иерархической взаимосвязи элементов языка XLink. При написании на XQuery запросов к XML-документам, содержащим элементы языка XLink, вся работа по распознаванию ссылок XLink и интерпретации их семантики целиком ложится на разработчика запросов. Необходимо также заметить, что получение информации о дугах, описанных в единственной расширенной ссылке языка XLink, требует написания на XQuery нескольких операций естественного соединения (join), выполнение которых дает значительную нагрузку на вычислитель языка XQuery.
  • При соединении с помощью ссылки XLink удаленного ресурса, представляющего собой фрагмент некоторого XML-документа, идентификация данного фрагмента внутри документа осуществляется с помощью языка XPointer, и идентификатор фрагмента включается в значение одного из глобальных атрибутов языка XLink. При обработке ссылок XLink с помощью XQuery для определения ресурсов, соединяемых с помощью ссылки, необходимо динамически вычислить идентификатор фрагмента на языке XPointer, полученный в качестве значения атрибута. В Библиотеке базовых функций XQuery [11] не существует функции, позволяющей интерпретировать идентификатор фрагмента, записанный на языке XPointer. Автору также не известна ни одна реализация XQuery, которая бы предоставляла интерпретатор языка XPointer внутри вычислителя запросов.
  • Предлагаемый в настоящей статье язык запросов к совокупности XML-документов, связанных ссылками XLink, базируется на подмножестве XQuery - языке XPath, назначением которого является адресация структурных частей XML-документа. В настоящей статье предлагается расширение XPath высокоуровневой поддержкой XLink, функциональность языка запросов достигается благодаря возможности тесной интеграции XPath с функциональным языком программирования общего назначения Scheme.



    Содержание раздела