Libxml2 поддерживает XPath 2.0 или нет? - PullRequest
9 голосов
/ 05 июля 2011

Я пытался использовать XPath 2.0 exp //span/string(.) в libxml2, но это не работает.
Итак, мой вопрос: поддерживает ли libxml2 1006 * или нет?

Ответы [ 4 ]

14 голосов
/ 09 сентября 2011

Согласно этому электронному письму 2007 года от сопровождающего libxml2, libxml2 не поддерживает и не будет поддерживать XPath 2.0.

0 голосов
/ 11 июля 2014

Libxml2 реализует ряд существующих стандартов, связанных с языками разметки:

the XML standard: http://www.w3.org/TR/REC-xml
Namespaces in XML: http://www.w3.org/TR/REC-xml-names/
XML Base: http://www.w3.org/TR/xmlbase/
RFC 2396 : Uniform Resource Identifiers http://www.ietf.org/rfc/rfc2396.txt
XML Path Language (XPath) 1.0: http://www.w3.org/TR/xpath
HTML4 parser: http://www.w3.org/TR/html401/
XML Pointer Language (XPointer) Version 1.0: http://www.w3.org/TR/xptr
XML Inclusions (XInclude) Version 1.0: http://www.w3.org/TR/xinclude/
ISO-8859-x encodings, as well as rfc2044 [UTF-8] and rfc2781 [UTF-16] Unicode encodings, and more if using iconv support
part of SGML Open Technical Resolution TR9401:1997
XML Catalogs Working Draft 06 August 2001: http://www.oasis-open.org/committees/entity/spec-2001-08-06.html
Canonical XML Version 1.0: http://www.w3.org/TR/xml-c14n and the Exclusive XML Canonicalization CR draft 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 Schemas Part 2: Datatypes REC 02 May 2001
W3C xml:id Working Draft 7 April 2004

Поскольку libxml2 поддерживает XPath 1.0, синтаксис неверен:

//span/string(.)

Должно быть:

string(//span/.)

Для пояснения метод string также является частью XPath 1.0.Для дальнейшего использования:

  • libxml2 поддерживает XPath 1.0

  • Objective-C поддерживает XPath 2.0 с помощью метода nodesForXPath NSXMLNode в GNUStep / NextStep

В реализации Cocoa используется XPath 2.0, рекомендованный Консорциумом World Wide Web.

Ссылки

0 голосов
/ 23 сентября 2011

Вас может заинтересовать расширение XPath 2.0 для libxml2 - однако применяются 2 предостережения: он находится в стадии разработки и бесплатен только для некоммерческого использования.

надеюсь, это поможет,

С наилучшими пожеланиями, Carsten

пс: я не связан ни с парнями, работающими над libx, ни с личным опытом его использования или знаниями, помимо информации, полученной на их веб-сайте.

0 голосов
/ 06 июля 2011

Насколько я знаю - нет. Преобладающее большинство реализаций XPath 2.0 являются частью процессоров XSLT 2.0 или XQuery.

...