Paul Brunner: erster Geschwister-Vorgänger des aktuellen Knoten

Beitrag lesen

Guten Morgen,

ein kniffliges xPath-Problem und die Bitte um Literatur-Empfehlungen:

Angenommen im folgenden xml-Auszug bei einer Transformation sei der entry-Knoten mit nr="5" der aktuelle Knoten. Ich möchte den Wert des Attributes nr des Vorgänger-Geschwisters ermitteln, also 4. (entry ist in Wirklichkeit nicht leer sondern enthält weitere Knoten)

xml-Auszug:
*----
<entry nr="1" />
<entry nr="2" />
<entry nr="3" />
<entry nr="4" />
<entry nr="5" />
*----

Folgender xPath-Ausdruck sollte nach meinem Verständniss das gewünschte Ergebnis bringen. Statt dessen liefert er immer 1.
Wo ist mein Denkfehler?

xPath:
*----
preceding-sibling::node()/attribute::nr[last()]
*----

Die zweite Frage: Wer kann ein gutes Buch zum Thema xsl&Co empfehlen, in dem die Feinheiten etwas detailierter beschrieben werden?

Gruß
Paul