mit parent dot-notation in xpath zu finden, eine weitere Filiale in der XML-Baumstruktur
Ich bin mit einem xslt auf XML, das an einer Stelle setzt meine aktuellen Knoten an das folgende "item" - element im Baum:
host/device/item
Ich gefunden habe, durch Experimente, dass die folgenden xpath-nimmt der xslt-zurück bis zu den "host" - Zweig des XML-Baum, dann erfolgreich sucht den "trigger" grand child-element des "host" - element.
../.././setting/trigger
Es funktioniert, aber der xpath-syntax scheint mir komisch. Der Punkt übergeordneten notation ../../.
macht Sinn, wenn Sie es Lesen, von der .
von rechts nach Links. Aber der untergeordnete Satz notation setting/trigger
machen nur Sinn, wenn Sie von Links nach rechts gelesen. Der "Letzte Sinn" des gesamten xpath ist äquivalent zu sagen:
host/setting/trigger
Ist es immer wahr, dass die Mitte ../.
Abschnitt des xpath (oder wie viele Eltern ../
Ebenen ist es) wird immer ignoriert, für die Finale Bedeutung host/device/trigger
?
Die Mitte
/.
ist unnötig.Danke, Alejandro. Ich habe gerade versucht "../../Einstellung/auslösen" und es funktionierte genauso gut, wie "../.././Einstellung/auslösen"
InformationsquelleAutor Don | 2011-03-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seit
.
sich selbst, könnte man so interpretieren werden, werden ignoriert../././././././*
bedeutet das gleiche wie./*
, die das gleiche wie*
.Bezüglich Lesen die XPath, bricht es nach unten aus dem Kontext-Knoten
host/device/item
In
../.././setting/trigger
, die/
- Zeichen trennen die node-tests, also LtoR:..
Sie befinden sich nun auf host/device,..
Sie sind nun auf der host.
Sie sind noch auf der hostsetting
Sie befinden sich nun auf host/Einstellungtrigger
Sie befinden sich nun auf host/Einstellung/auslösenWenn Sie es Lesen RtoL, dann müssen Sie verstehen, dass anstelle der folgenden node-tests, die Sie Lesen, jeder Knoten-test mit entgegengesetzter Bedeutung und Ihrem Kontext ist, wo Sie wollen, um am Ende, also:
vom
host/setting/trigger
(Ihre gewünschten Endpunkt)trigger
(gelesen..
), Sie befinden sich nun aufhost/setting
setting
(wieder..
), sind Sie nun auf host -.
(.
), Sie sind immer noch auf der host..
(gelesen*
) Sie könnte jetzt bei host/device..
(gelesen*
) Sie könnte jetzt bei host/Gerät/itemLesen Sie einfach jeden einzelnen node-test, d.h. 5 Sätze.
..
bedeutet, dass Eltern, die.
auf sich selbst, und die Bezeichner in deinem Beispiel sind untergeordnete Elemente.*/*/./setting/trigger
umfasst beispielsweise nicht das springen auf den Baum.was bedeutet
/army/battalion/squad.0
bedeuten? bedeutet das, dass das erste element derarmy
Objekt?InformationsquelleAutor Paul Butcher