Hallo,
Ein recursives Template:großer Nachteil - fällt mir gerade auf - : wenn es zweimal dasselbe Zeichen vorkommt gibts eine Endlosschleife!
Jetzt nicht mehr:
<xsl:template name="createinputelement">
<xsl:param name="node" />
<xsl:param name="inputcounter" />
<xsl:param name="valueforfirstinput" select="substring($node,1,1)" />
<xsl:variable name="valueforrestinput" select="substring($node, $inputcounter+1)" />
xsl:choose
<xsl:when test="$valueforrestinput != ''">
<input type="text" name="{concat(local-name($node), $valueforfirstinput)}" value="{$valueforfirstinput}" /><xsl:value-of select="$inputcounter" /><br />
<xsl:call-template name="createinputelement">
<xsl:with-param name="node" select="$node" />
<xsl:with-param name="inputcounter" select="$inputcounter +1" />
<xsl:with-param name="valueforfirstinput" select="substring($valueforrestinput,1,1)" />
</xsl:call-template>
</xsl:when>
xsl:otherwise
<input type="text" name="{concat(local-name($node), $valueforfirstinput)}" value="{$valueforfirstinput}" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
Aufruf mit:
<xsl:call-template name="createinputelement">
<xsl:with-param name="node" select="." />
<xsl:with-param name="inputcounter" select="1" />
</xsl:call-template>
Grüße
Thomas