fleedo: Bei Rekursion in XSLT keine Parameterübergabe.

Beitrag lesen

Hallo @all,

Folgende XML-Datei soll per XSL transformiert werden.

  
<gle>  
     <gl>...</gl>  
     <gl>  
         <gl>  
              <gl>...</gl>  
         </gl>  
     </gl>  
<gle>  

Ich brauche nun einen rekursiven Code, der mir die Ebene der Verschachtelung zählt. Ich befinde mich gerade im Knoten <gle>. Mein Entwurf:

  
<xsl:template match="gl">  
  <xsl:param name="recCount" select="0"/>  
  <!-- Prüfe ob gleichartiges Kind existiert -->  
  <xsl:if test="child::gl">  
     <xsl:apply-templates select="child::gl">  
         <xsl:with-param name="recCount" select="recCount + 1"/>  
     </xsl:apply-templates>  
  </xsl:if>  
</xsl:template>  

Mein Debugger sagt mir, dass der Parameter bei jedem neu gefunden Match von gl wieder 0 ist. Es wird also nicht hochgezählt. Wisst ihr, wo hier mein Denkfehler liegt?

Danke und Gruß
Robert