variablen in xsl definieren
hp
- xsl
0 Onkel X0 Thomas Meinike0 HP
hallo ihr lieben,
kann ich in xsl eine variable definieren, mit der ich rechnen kann? z.b. i++
beste grüße
HP
tach,
nicht wirklich, was willst du denn erreichen?
Gruß, Onkel X
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
hallo thomas,
deine antwort ist echt klasse. wow - vielen dank !!!
grüße, HP
<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].