Классика баз данных - статьи

       

а также построение новых фрагментов


Язык XQuery [], разработанный консорциумом W3C, - это язык запросов к XML-данным. Язык XQuery позволяют компактно и выразительно описывать выборку XML-данных, операции соединения, объединения, упорядочивания XML-данных, а также построение новых фрагментов данных на основе использования конструкторов. В настоящее время язык XQuery рассматривается как одно из основных универсальных средств обработки XML-данных, наряду с языком трансформации XML-данных XSLT[].
Важной задачей обработки XML-данных является трансформация данных. В языке XQuery для описания трансформаций XML-данных предназначены конструкторы для всех основных видов узлов XML-документа (элементов, атрибутов, документов и т.п.). Однако анализ практических приложений демонстрирует неадекватность средств описания трансформаций языка XQuery для ряда задач.
Существует класс таких запросов к XML-данным, которык, с одной стороны, трудно выражаются средствами языка XQuery, а с другой стороны, являются сложными для эффективного вычисления. Запросы из этого класса характеризуются тем, что они вычисляют некоторое модифицированное значение данных.
В качестве простых примеров можно перечислить следующие трансформацонные запросы:

  • получить XML-данные, заменив внутри некоторое содержимое;
  • получить XML-данные, удалив (вставив) внутри (во внутрь) некоторое содержимое;
  • получить XML-данные на основе исходного и модифицированного состояний данных.

В приведенных примерах речь идет о выборке относительно сложной со структурной точки зрения порции данных с некоторой модификацией. Иными словами, интересующий нас класс запросов можно охарактеризовать необходимостью получения данных с относительно небольшой их модификацией.
Проблема работы с такими запросами на языке XQuery сводится к двум аспектам. С одной стороны, такие запросы сложны для выражения средствами XQuery. С другой стороны, XQuery-выражения, описывающие такие запросы, сложны для эффективного вычисления и, следовательно, не подходят для работы над большими объемами данных.

Содержание  Назад  Вперед