libxml2是否支持XPath 2.0?

13

我尝试在libxml2中使用XPath 2.0表达式//span/string(.),但它不起作用。所以我的问题是:libxml2是否支持XPath 2.0

4个回答

19

1
据我所知,XPath 2.0 的实现大多数是作为 XSLT 2.0 处理器或 XQuery 处理器的一部分。

0
Libxml2实现了与标记语言相关的一些现有标准。
XML标准:http://www.w3.org/TR/REC-xml XML命名空间:http://www.w3.org/TR/REC-xml-names/ XML基础:http://www.w3.org/TR/xmlbase/ RFC 2396:统一资源标识符http://www.ietf.org/rfc/rfc2396.txt XML路径语言(XPath)1.0:http://www.w3.org/TR/xpath HTML4解析器:http://www.w3.org/TR/html401/ XML指针语言(XPointer)版本1.0:http://www.w3.org/TR/xptr XML包含(XInclude)版本1.0:http://www.w3.org/TR/xinclude/ ISO-8859-x编码,以及rfc2044 [UTF-8]和rfc2781 [UTF-16] Unicode编码,如果使用iconv支持,则还有更多 SGML开放技术决议TR9401:1997的一部分 XML目录工作草案06 August 2001:http://www.oasis-open.org/committees/entity/spec-2001-08-06.html 规范化XML版本1.0:http://www.w3.org/TR/xml-c14n和独占XML规范化CR草案http://www.w3.org/TR/xml-exc-c14n Relax NG,ISO/IEC 19757-2:2003,http://www.oasis-open.org/committees/relax-ng/spec-20011203.html W3C XML模式第2部分:数据类型REC 02 May 2001 W3C xml:id工作草案7 April 2004

由于libxml2支持XPath 1.0,因此语法不正确:

//span/string(.)

应该是:

string(//span/.)

为了澄清,string方法也是XPath 1.0的一部分。供以后参考:

  • libxml2支持XPath 1.0

  • Objective-C通过GNUStep/NextStep中NSXMLNode的nodesForXPath方法支持XPath 2.0

Cocoa实现使用XPath 2.0,这是万维网联盟的推荐。

参考资料


我认为这不正确;至少,这个答案表明//span/string(.)是有效的XPath 2.0。 - Adam Spiers
@AdamSpiers 我回答了这个问题:那么,我的问题是:libxml2是否支持XPath 2.0? - Paul Sweatte

0

您可能对libxml2的XPath 2.0扩展感兴趣 - 然而,有两个限制:它仍在进行中,并且只适用于非商业用途。

希望这可以帮助到您,

最好的祝福,卡斯滕

附言: 我既不与libx工作人员有任何关联,也没有任何个人使用经验或超出其网站信息的知识。


链接已经失效了 :) 你知道在哪里可以下载这个库吗? - user1647411

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接