Thomas J.S.: XSLT-Problem (parent/pfad/position)

Beitrag lesen

Hallo,

ich komme hier nicht weiter:

ich möchte innerhalb eines templates folgende Werte ermitteln:
(die Elemente kann ich über absolute Pfade ermitteln)

  1. Liefere mir von einem Element mit einem bestimmten Attributwert (z.b. id=1) den Positionswert [position()] des Vaterelements.
  1. Liefere mir von einem Element mit einem bestimmten Attributwert (z.b. id=1) den Positionswert [position()] des Vaterelements des Vaterelements.

Meine bisherigen Versuchen scheiterten alle:
z.B.: value-of select = [parent][Pfad des Elements mit Attribut] [position()]

Wie kann ich so etwas (Punkt 1 und 2) in XSLT schreiben?

Das könntest du nur erreichen, wenn du für die parent-Elemente die Position in einer Variable speicherst und diese dann später ausgibtst.
Da ich aber dein XSL nicht kenne und so nicht weiss, ob und welche Templates du für die parent-Elemente hast, ist es schwer zu sagen was du machen sollst.
Eventuell hilft dir ein:
<xsl:template match="element">
 <xsl:if test="@id = 1">
  <xsl:for-each select="parent::*">
   <xsl:value-of select="position()" />
  </xsl:for-each>
 </xsl:if>
</xsl:template>

Grüße
Thomas