Thread XML::XPath -> Lokalisierungspfad mit langer Schreibweise (2 answers)
Opened by leo11 at 2010-02-14 07:10

murphy
 2010-02-14 15:07
#132957 #132957
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Zitat aus der XPath Spezifikation:
Quote
the following axis contains all nodes in the same document as the context node that are after the context node in document order, excluding any descendants and excluding attribute nodes and namespace nodes


Auf der following:: Achse bei XPath Angaben liegen also sämtliche Knoten, die in Dokumentordnung hinter dem Referenzknoten liegen, insbesondere müssen sie weder Geschwister des Referenzknotens sein, noch direkt auf ihn folgen.

Die Angabe /child::ZED_INVOIC02_CRG/child::IDOC/child::E1EDK02 wählt als Satz von Referenzknoten alle drei E1EDK02-Elemente des Dokumentes aus, die nachfolgende Angabe ./following::E1EDK02 wählt dann alle E1EDK02-Elemente aus, die in der Dokumentordnung irgendwo hinter einem der Referenzknoten liegen: Einmal alle E1EDK02-Elemente bis auf das erste, denn sie liegen hinter dem ersten, und dann alle E1EDK02-Elemente bis auf die ersten beiden, denn sie liegen hinter dem zweiten. Folglich taucht das letzte E1EDK02-Element im Ergebnis zweimal auf.

Ich nehme an, Du suchst vielleicht die Angabe ./following-sibling::E1EDK02[position()=1] statt ./following::E1EDK02.
When C++ is your hammer, every problem looks like your thumb.

View full thread XML::XPath -> Lokalisierungspfad mit langer Schreibweise