XML::LibXML 中实现了哪个版本的 XPath?

2023-11-27

有谁知道 XML::LibMXL 中实现了哪个版本的 XPath 规范?

或者更重要的是,在哪里可以找到可在 LibXML 中使用的 XPath 函数的描述?

例如,我尝试过类似的东西

$dcDOM->findvalue('//dc:identifier[contains(@xsi:type,"URI")]');

这似乎工作正常,但是

$dcDOM->findvalue('//dc:identifier[matches(@xsi:type,"URI")]');

才不是。

由此必须假设它最多支持 XPath 1.0 或 1.0/2.0 的某个子集。

是否有一个整洁的页面列出并描述了所有内容?


正如您从探测中推测的那样,XML::LibXML 支持 XPath 1.0(而不是 2.0)。

一般来说,除了通过此类探测之外,XPath 本身无法确定版本。另一方面,XSLT 提供system-property('xsl:version')用于识别版本信息。

走源代码继承路线:XML::LibXMLis based在 libxml2 上,其中实施XPath 1.0,如 Libxml2 主页上所述:

Libxml2 实现了许多与标记相关的现有标准 语言:

     XML Path Language (XPath) 1.0: http://www.w3.org/TR/xpath

您可能会问为什么 libxml2 不支持 XPath 2.0?或阅读维护者 Daniel Veillard 的旧帖子这表明 XPath 2.0 规范“太大且具有侵入性”,但底线仍然是:XML::LibXML 支持 XPath 1.0,而不是 2.0。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XML::LibXML 中实现了哪个版本的 XPath? 的相关文章

随机推荐