XQuery(或 XPath)是不是具有更新、插入和删除以及选择的等价物?
Posted
技术标签:
【中文标题】XQuery(或 XPath)是不是具有更新、插入和删除以及选择的等价物?【英文标题】:Does XQuery (or XPath) have equivalents to Update, Insert, and Delete as well as Select?XQuery(或 XPath)是否具有更新、插入和删除以及选择的等价物? 【发布时间】:2010-09-23 11:29:49 【问题描述】:我知道如何使用 XPath 从 XML 中找到我需要的东西。语法需要一点时间来适应,但它非常强大。我也对学习 XQuery 很感兴趣,但是类似 SQL 的语法似乎很尴尬。即便如此,如果它不仅可以提供 select 等效项,还可以像 SQL 那样提供更新、插入和删除,我会原谅所有的尴尬。
那么,XQuery 是否具有 Update、Insert、Delete 和 Select 等价物?
XPath 是否有我忽略的这些等价物?
【问题讨论】:
【参考方案1】:查看XQuery Update Facility、查看XQuery Use Cases 或查看XML Query working group 页面。
【讨论】:
【参考方案2】:XPath 是一种用于寻址 XML 文档部分的语言。所以它不能有任何 DML 语句。顾名思义就是select语句。
【讨论】:
XPath 确实如此。然而,XQuery 确实有一个允许更新的正式标准化扩展。【参考方案3】:没有。 XPath 或 XQuery 都没有类似 SQL 的更新/插入/删除功能。
您需要寻找“XQuery 1.0 Update Facility”的实现。
目前(2008 年 11 月),已知三个这样的:
-
SaxonSA XSLT and XQuery Processor——Michael Kay;自 9.1 版起受支持,但仅限于商业版。
MonetDB/XQuery - MonetDB 关系数据库系统之上的开源 XQuery 处理器。
XQilla - 一个开源 (ASL2.0) XQuery 处理库,支持最新的 XQuery 更新特性。 XQilla 是用 C++ 编写的,包括一个命令行可执行 shell,用于对存储在本地文件系统上的 XML 内容执行查询。该库是积极开发的,是受支持的 Oracle 产品Berkeley DB XML 的一部分。
【讨论】:
@CharlesDuffy:当然,但我相信 2008 年 BaseX 还没有出现。【参考方案4】:在 SQL Server 2005/8 中,XQuery 的扩展名为XML DML,支持使用replace value of 语句修改数据。
【讨论】:
以上是关于XQuery(或 XPath)是不是具有更新、插入和删除以及选择的等价物?的主要内容,如果未能解决你的问题,请参考以下文章