Article View: pl.comp.xml
Article #10057xpath, namespace atrybutu, libxml2
From: Marcin Stępnicki
Date: Mon, 09 Feb 2009 21:48
Date: Mon, 09 Feb 2009 21:48
50 lines
2093 bytes
2093 bytes
Witam.
Mam następujący plik:
<?xml version="1.0" encoding="utf-8"?>
<dokument xmlns="http://pierwszy" xmlns:drugi="http://drugi" wersja="2"
drugi:wersja="999">
<x>123</x>
<x>456</x>
</dokument>
Jakim wyrażeniem wyciągnąć wartość atrybutu drugi:wersja? Próbowałem:
$ xmllint --shell _test.xml
To działa:
/ > cat //*[local-name()='dokument']/@*
-------
wersja="2"
-------
drugi:wersja="999"
To też:
/ > cat //*[local-name()='dokument']/@wersja
-------
wersja="2"
Natomiast różne kombinacje:
/ > cat //*[local-name()='dokument']/@wersja[namespace-uri()='http://drugi']
/ > cat //*[local-name()='dokument' and namespace-uri()='http://drugi']/@wersja
/ > cat //*[local-name()='dokument']/drugi:@wersja
nie za bardzo chcą mi zwrócić to czego oczekuję :>. Ten ostatni powoduje nawet
błąd "Undefined namespace prefix", ale już wiem dlaczego i powiedzmy że
rozumiem skąd się to bierze.
Czy ktoś mógłby mi pomóc lub wskazać linka w którym znajduje się potrzebna
mi informacja?
Dla porządku jeszcze wersja xmllint:
$ xmllint --version
xmllint: using libxml version 20631
compiled with: Threads Tree Output Push Reader Patterns Writer
SAXv1 FTP HTTP DTDValid HTML Legacy C14N Catalog XPath XPointer
XInclude Iconv ISO8859X Unicode Regexps Automata Expr Schemas
Schematron Modules Debug Zlib
Technical Details
Message-ID:
<gmq8av$83j$1@achot.icm.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news2.icm.edu.pl!not-for-mail From: Marcin Stępnicki <mstepnicki@gmail.com> Newsgroups: pl.comp.xml Subject: xpath, namespace atrybutu, libxml2 Date: Mon, 9 Feb 2009 21:48:15 +0000 (UTC) Organization: http://news.icm.edu.pl/ Lines: 51 Message-ID: <gmq8av$83j$1@achot.icm.edu.pl> NNTP-Posting-Host: chello089077219008.chello.pl Mime-Version: 1.0 X-Trace: achot.icm.edu.pl 1234216095 8307 89.77.219.8 (9 Feb 2009 21:48:15 GMT) X-Complaints-To: abuse@icm.edu.pl NNTP-Posting-Date: Mon, 9 Feb 2009 21:48:15 +0000 (UTC) User-Agent: Pan/0.132 (Waxed in Black) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit