[ Russian ] [ English ]

Расширение языка XQuery функциональными средствами модификации данных

А.А. Болдаков,
Институт системного программирования РАН,
boldakov@ispras.ru

Необходимость обрабатывать возрастающие объемы данных, представленные в формате XML, стимулирует создание развитых языковых средств управления XML-данными.

Одной из ключевых технологий управления XML-данными является язык запросов XQuery [1], содержащий средства как для выборки, так и для трансформации XML-данных. В докладе анализируется ограниченность средств трансформации XML-данных языка XQuery и демонстрируется важный на практике класс запросов, для которых выражения на языке XQuery громоздки и сложны для эффективного вычисления.

Автор предлагает расширить язык XQuery функциональными update-выражениями [3]. Такие выражения близки по синтаксису к выражениям языков модификации XML-данных, но вычисляются без побочных эффектов, что позволяет естественным образом интегрировать их в среду XQuery. В докладе демонстрируется выразительность расширенного языка и рассматриваются подходы к эффективной реализации предложенного расширения.

Кроме того, в докладе рассматривается проблема произвольной композиции выражений выборки и модификации XML-данных (проблема вложенных update-выражений). Существующие языки модификации XML-данных [2,4,5,6,7], как правило, основаны на языке XQuery, но возможность произвольной композиции выражений языка XQuery и языка модификации XML-данных в них не предоставляется. Этот факт является препятствием при разработке практических XML-приложений на языке XQuery. В докладе предлагается подход к решению проблемы композиции, основанный на использовании функциональных update-выражений. Уделяется внимание возможным путям реализации предлагаемого расширения.

Литература:

  1. Boag, S., Chamberlin, D., Fernandez, M., Florescu, D., Robie, J., Simeon, J.: XQuery 1.0: An XML Query Language. http://www.w3.org/TR/xquery/, (November 2005)
  2. Chamberlin, D., Florescu, D., Robie, J.: XQuery Update Facility. http://www.w3.org/TR/xqupdate/, (January 2006)
  3. Болдаков А.А., Гринев М.Н. Расширение языка XQuery функциональными update-выражениями. Препринт Института системного программирования РАН, №10, 2006.
  4. Benedikt, M., Bonifati, A., Flesca, S., Vyas, A.: Adding Updates to XQuery: Semantics, Optimization, and Static Analysis. Second International Workshop on XQuery Implementation, Experience and Perspectives (XIME­P 2005).
  5. Tatarinov, I., Ives, Z., Halevy, A., Weld, D.: Updating XML. Proceedings of the ACM SIGMOD International Conference on Management of Data (2001).
  6. P. Lehti, Design and Implementation of a Data Manipulation Processor for an XML Query Language. Ph.D. thesis. Technische Universitat Darmstadt, August 2001. http://www.lehti.de/beruf/diplomarbeit.pdf
  7. A. Laux and L. Martin. XUpdate — XML Update Language, 2000. http://xmldb-org.sourceforge.net/xupdate/xupdate-wd.html
Supported by Synthesis Group