XQuery(或XPath)是否具有Update,Insert和Delete以及Select的等价物?

时间:2008-11-21 16:00:09

标签: xml xslt xpath xquery

我知道如何使用XPath从XML中找到我需要的东西。语法需要一点时间习惯,但它非常强大。我也有兴趣学习XQuery,但SQL语法似乎很尴尬。即便如此,如果它不仅可以提供选择的等价物,而且还可以像SQL那样提供更新,插入和删除,我将原谅所有的尴尬。

那么,XQuery是否具有Update,Insert和Delete以及Select?

的等价物

XPath是否具有我忽略的这些等价物?

4 个答案:

答案 0 :(得分:14)

没有。 XPathXQuery都没有类似SQL的更新/插入/删除功能。

您需要查找“XQuery 1.0 Update Facility”的实现。

此时(2008年11月),已知有三个这样的人:

  1. SaxonSA XSLT and XQuery Processor - Michael Kay;自版本9.1起支持,但仅在商业版本中支持。
  2. MonetDB/XQuery - MonetDB关系数据库系统之上的开源XQuery处理器。
  3. XQilla - 一个开源(ASL2.0)XQuery处理库,支持最新的XQuery Update功能。 XQilla是用C ++编写的,包含一个命令行可执行shell,用于对存储在本地文件系统中的XML内容执行查询。该库是积极开发的,是受支持的Oracle产品Berkeley DB XML的一部分。

答案 1 :(得分:7)

答案 2 :(得分:5)

在SQL Server 2005/8中,XQuery的扩展名为XML DML,并支持使用replace value of语句修改数据。

答案 3 :(得分:4)

XPath是一种用于处理XML文档部分的语言。所以它不能有任何DML语句。根据定义,它是select语句。