XPath 2.0
でexp//span/string(.)
を使用しようとしましたlibxml2
が、機能しません。
だから、私の質問は次のとおりです。libxml2
サポートしてXPath 2.0
いますか?
4 に答える
libxml2 のメンテナーからのこの 2007 年の電子メールによると、libxml2 は XPath 2.0 をサポートしておらず、今後もサポートしません。
私の知る限りでは、そうではありません。XPath 2.0実装の大部分は、XSLT2.0プロセッサまたはXQueryプロセッサの一部です。
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 Open Technical Resolution TR9401:1997 の一部 XML カタログ ワーキング ドラフト 2001 年 8 月 6 日: http://www.oasis-open.org/committees/entity/spec-2001-08-06.html Canonical 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 をサポートします
Objective-C は
nodesForXPath
、GNUStep/NextStep の NSXMLNode のメソッドを介して XPath 2.0 をサポートします。
Cocoa の実装では、World Wide Web Consortium の推奨事項である XPath 2.0 を使用します。
参考文献
libxml2 への XPath 2.0 拡張機能に興味があるかもしれませんが 、2 つの注意点があります。これは進行中の作業であり、非営利目的でのみ無料で使用できます。
お役に立てれば、
よろしく、カルテン
ps: 私は、libx に取り組んでいる連中とは関係がなく、それを使用した個人的な経験も、彼らの Web サイトからの情報以外の知識もありません。