André Laugks: Baum zur Tranformierung anlegen

Beitrag lesen

Hallo!

wird die Reihenfolge der Elemente im XML-Dokumentes verwendet und nicht die sortierte Reihenfolge.

kein Wunder, die sibling-Teile gehen auf die Dokumentstruktur.

Das habe ich ja auch schon fest gestellt bzw. ist mir klar.

Verwende position() - laß Dir das Element mit der aktuellen position() - 1 und das mit der aktuellen position() + 1 auswählen.

Soweit war ich auch schon, nur irgendwie kommt nichts.

<xsl:template match="eintrag">
  <tr>
    <td><xsl:value-of select="position()"/></td>
    <td><xsl:value-of select="../eintrag[position() - 1]/name"/></td>
    <td><xsl:value-of select="name"/></td>
    <td><xsl:value-of select="../eintrag[position() + 1]/name"/></td>
  </tr>
</xsl:template>

Wenn ich anstatt der XPath-Audrücke "../eintrag[position() - 1]/name" oder "../eintrag[position() + 1]/name" den XPath-Ausdruck "../eintrag/name" schreibe, bekomme ich wie erwartet "Berta", also das erste Element "eintrag/name" aus dem XML-Dokument. Der Pfad stimmt also.

MfG, André Laugks

--
L-Andre @ gmx.de