了解 XQuery 更新功能

XQuery 更新功能是 XQuery 语言的扩展,它允许您使用“更新表达式”来修改 XML 文档,这些表达式可以插入、删除、替换或重命名节点。这个扩展提供了一种方便的方式来对 XML 文档进行智能更新,而 XMLSpy 具有独特的实现,使其操作更加简便。接下来,我们来看看它是如何工作的。

什么是 XQuery 更新功能?

XQuery 更新功能 (XQUF) 是一种 XQuery 语言扩展,它定义了 FLWOR 表达式,这些表达式可用于对 XML 文档进行持久性修改。这些表达式通过以下一种或多种操作来更新节点:

  • 插入一个节点
  • 删除一个节点
  • 替换一个节点及其所有子节点
  • 替换节点的内容或值
  • 重命名节点

例如,在下面的截图中,我们使用 XQuery 更新功能,将某个节点的数值修改为:对于位于美国境内的办公室的员工,将电话分机号码后增加一个“1”;而对于其他分机,则增加一个“2”,以适应电话分机号码改为四位数的变更。

在 XMLSpy 中使用 XQuery 进行更新

XMLSpy 支持以下两种方式: XQuery 更新版本 1.03.0.

以下所示的 "XQuery 更新功能编辑器" 能够轻松地编写和测试五种类型的更新表达式,它具有语法高亮、代码自动补全以及错误消息提示等功能。您可以在编写过程中预览更新表达式的结果,以便于快速排查问题。此外,在预览窗口中点击一个结果,会高亮显示您实例文档中受影响的节点。然后,您只需单击一下即可执行更新操作,可以选择在当前文件中执行,也可以在所有打开的文件、一个文件夹或整个 XMLSpy 项目中执行。

XQuery 更新语句也支持在完整执行 XQuery 文档(Alt + F10)期间使用。

是什么让 XMLSpy 的实现如此具有创新性?

根据标准规定,XQuery 更新执行的结果是一个_新的_ XML 文件,该文件基于原始文件并应用了指定的修改。这意味着每次执行都会完全重新格式化文档。

XMLSpy 允许您跳过这一中间步骤,因为它允许您直接在指定的 XML 文件中进行更新,而无需创建新的文件。

通过这种方式,您将获得一个智能机制,可以利用熟悉的“查找和替换”模式来执行 XQuery 更新。然而,由于 XQuery 更新利用 FLWOR 语句的强大功能,可以实现复杂的更新操作,它克服了“查找和替换”的局限性,让您能够快速、轻松地进行复杂的、智能的 XML 文件修改。

它是如何运作的?

通过这个简短的视频,您可以了解其工作原理。视频将快速演示如何在 XMLSpy 中编辑 XQuery 更新表达式,同时,如果您不熟悉 XQuery 更新功能的语法,它也作为一个快速教程,帮助您了解其工作方式。

如果您想亲自尝试使用 XQuery 更新功能,您可以 下载 XMLSpy 的免费试用版