尽管 Matthew 的回答给人留下了良好的第一印象,但关于上述标准还有很多要讲的,还有很多相关的。网上有一篇来自 XML Holland 用户组杂志的好文章,它讲述了很多关于 XQuery 的历史,并从不同角度看待这些标准。第一部分在这里非常相关:
XQuery 代表 XML 查询语言。这已经说明了本质。它是一种从大量 XML 文件中选择子集和子结构的语言。可以将结果处理成适合用于例如后续流程或在 Web 浏览器中显示的内容。 XPath 在 XQuery 中被大量使用。所有 XML 标准都有自己的范围。我会举几个。 XSLT 是一种用于将 XML 转换为其他格式的语言。 XPointer 是 XPath 的扩展,用于在 XML 片段甚至节点的子部分中更准确地寻址节点。 XLink 是定义关系的标准。 XInclude 是一种使用例如 XLink 关系将多段 XML 组合成一个的标准。 XProc 是一个标准,可以用它来描述应如何处理 XML 文档以获得所需的最终结果。它以 XML 表示,并逐步描述流程,也称为 XML 管道。在 XProc 中,您使用 ao XQuery、XSLT 和 XInclude 语言(因此也间接使用 XPath、XPointer 和 XLink)来表达在每个步骤中准确需要完成的内容。所有这些标准都捆绑在一起。它们是相关的,并且相互依赖。下一张图片很好地总结了一些提到的 XML 标准之间的重叠,您也可以在 W3Schools 上找到该图片:
https://i.stack.imgur.com/EQ8y6.gif
完整的文章可以在这里找到:http://grtjn.blogspot.nl/2011/10/xquery-novelties-revisited.html
!
嗯,我认为 XQuery 是值得区分的。 XPath 和 XPointer 几乎相同,都用于 XML 节点选择。另一方面,XQuery 是 XPath 的一个很大的扩展。例如,它提供了声明自定义函数的可能性。所以它更像是一种编程语言,它本机地与 XML 一起工作。您可以在此处查看一些示例:embedding-xquery-in-java
问候
XPath 有意限制为读取现有节点。
作为 XSLT,XQuery 可以创建节点。它还可以更新节点(使用 XQuery 更新工具)。
从我的 XQuery 实现者的角度来看 ;-)
不定期副业成功案例分享