Hallo,
kann ich in xsl eine variable definieren, mit der ich rechnen kann? z.b. i++
XSL-Variablen koennen nur jeweils neu definiert werden (z. B. in einem xsl:for-each-Konstrukt) -- sie verhalten sich in ihrem Aufrufkontext wie Konstanten.
Um die Ausgabe
1
2
3
4
5
zu erhalten (ohne die Werte als XML-Inhalte vorzuhalten) ist der rekursive Aufruf von Parameter-Templates noetig, z. B.:
<xsl:template match="/">
<xsl:call-template name="zaehler">
<xsl:with-param name="i" select="1"/>
<xsl:with-param name="imax" select="5"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="zaehler">
<xsl:param name="i"/>
<xsl:param name="imax"/>
<xsl:value-of select="$i"/><br />
<xsl:if test="$i < $imax">
<xsl:call-template name="zaehler">
<xsl:with-param name="i" select="$i+1"/>
<xsl:with-param name="imax" select="$imax"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
Nach diesem Prinzip kann man auch andere Rechenoperationen ausfuehren [+ - * div mod].
MfG, Thomas