XPath,XQuery和XPointer之间的区别

Sha*_*shi 63 xml xpath xquery

有什么区别XPath,XQueryXPointer?据我所知,XQuery是一个扩展版本XPath.我有一些基本的知识XPath.是否有任何功能提供XPath这不XQuery?昨天,我听到一个新词,XPointer.我很迷惑.哪种语言用于哪种目的?

Mat*_*hen 60

维基百科是一个很好的开始这样的问题的地方.通常,XPath是一种用于简洁地确定DOM中精确XML节点的语言. XQuery是XPath的超集,它还提供了类似SQL的FLWOR语法.最后,XPointer包含XPath,但也提供了一种更简单的基于位置的寻址方案.

当然,您可以随时阅读W3C规范以获取完整的详细信息.


grt*_*tjn 54

虽然马修的答案给人留下了良好的第一印象,但还有很多关于所提到的标准的说法,还有更多相关的标准.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)来表达在每个步骤中需要完成的工作.

所有这些标准都捆绑在一起.它们是相互关联的,相互依赖.您可以在W3Schools中找到的下一张图片中总结了一些上述XML标准之间的重叠:

什么是XPath

完整的文章可以在这里找到:http://grtjn.blogspot.nl/2011/10/xquery-novelties-revisited.html

HTH!


Raf*_*sin 17

好吧,我认为XQuery值得一提.XPath和XPointer几乎相同,用于选择XML节点.另一方面,XQuery是XPath的一个很大的扩展.例如,它提供了声明自定义函数的可能性.所以它更像是编程语言,它本身与XML一起工作.您可以在这里查看一些示例:embedding-xquery-in-java

问候


小智 5

XPath故意限于读取现有节点.

作为XSLT,XQuery可以创建节点.它还可以更新节点(使用XQuery Update Facility).

从我的XQuery实现者的角度来看;-)