Thread View: pl.comp.xml
2 messages
2 total messages
Started by Marcin Stępnicki
Mon, 09 Feb 2009 21:48
xpath, namespace atrybutu, libxml2
Author: 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
Re: xpath, namespace atrybutu, libxml2
Author: szomiz
Date: Tue, 10 Feb 2009 09:04
Date: Tue, 10 Feb 2009 09:04
8 lines
1309 bytes
1309 bytes
Użytkownik "Marcin Stępnicki" <mstepnicki@gmail.com> napisał w wiadomości news:gmq8av$83j$1@achot.icm.edu.pl... > Jakim wyrażeniem wyciągnąć wartość atrybutu drugi:wersja? Próbowałem: ZTCP: register_namespaces sz.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads