Есть ли у XQuery (или XPath) эквиваленты для обновления, вставки и удаления, а также выбора? - PullRequest
9 голосов
/ 21 ноября 2008

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

Итак, есть ли у XQuery эквиваленты для обновления, вставки и удаления, а также для выбора?

Есть ли в XPath эти эквиваленты, которые я пропустил?

Ответы [ 4 ]

14 голосов
/ 22 ноября 2008

Нет. Ни один из XPath или XQuery не имеет SQL-подобной функции обновления / вставки / удаления.

Вам необходимо найти реализацию " XQuery 1.0 Update Facility ".

На данный момент (ноябрь 2008 г.) известно три таких:

  1. SaxonSA XSLT и XQuery Processor - Michael Kay ; Поддерживается с версии 9.1, но только в коммерческой версии.
  2. MonetDB / XQuery - процессор XQuery с открытым исходным кодом поверх MonetDB системы реляционных баз данных.
  3. XQilla - библиотека обработки XQuery с открытым исходным кодом ( ASL2.0 ) с поддержкой новейших функций XQuery Update. XQilla написана на C ++ и включает исполняемую оболочку командной строки для выполнения запросов к содержимому XML, хранящемуся в локальной файловой системе. Эта библиотека активно развивается и является частью поддерживаемого продукта Oracle, Berkeley DB XML .
7 голосов
/ 21 ноября 2008

Взгляните на XQuery Update Facility , ознакомьтесь с XQuery Use Cases или проверьте страницу рабочей группы XML * .

5 голосов
/ 14 декабря 2008

В SQL Server 2005/8 расширение XQuery называется XML DML и поддерживает изменение данных с помощью заменяющего значения оператора .

4 голосов
/ 21 ноября 2008

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

...