13

我尝试使用XPath 2.0exp //span/string(.)in libxml2,但它不起作用。
所以,我的问题是:libxml2支持XPath 2.0与否?

4

4 回答 4

18

根据这封来自 libxml2 维护者的2007 年电子邮件,libxml2 不支持,也不会支持 XPath 2.0。

于 2011-09-09T18:12:30.777 回答
1

据我所知——没有。大多数 XPath 2.0 实现是 XSLT 2.0 处理器或 XQuery 处理器的一部分。

于 2011-07-06T02:58:34.327 回答
0

您可能对 libxml2 的 XPath 2.0 扩展感兴趣 - 但是,有两个注意事项:它正在进行中,并且仅可免费用于非商业用途。

希望这可以帮助,

最好的问候,卡斯滕

ps:我既不隶属于从事 libx 工作的人,也没有任何使用它的个人经验或超出他们网站信息的知识。

于 2011-09-23T14:41:21.740 回答
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 目录工作草案 2001 年 8 月 6 日:http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
规范 XML 版本 1.0:http://www.w3.org/TR/xml-c14n 和 Exclusive XML Canonicalization CR 草案 http://www.w3.org/TR/xml-exc-c14n
放松 NG,ISO/IEC 19757-2:2003,http://www.oasis-open.org/committees/relax-ng/spec-20011203.html
W3C XML 模式第 2 部分:数据类型 REC 2001 年 5 月 2 日
W3C xml:id 工作草案 2004 年 4 月 7 日

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

//span/string(.)

应该:

string(//span/.)

为澄清起见,该string方法也是 XPath 1.0 的一部分。备查:

  • libxml2 支持 XPath 1.0

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

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

参考

于 2014-07-11T01:15:54.103 回答