[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

[xsl] 1 + 1 = 11


Subject: [xsl] 1 + 1 = 11
From: Eric White <eric.white@xxxxxxxxxxx>
Date: Tue, 18 Apr 2006 12:18:47 -0500

What am I missing? I define a parameter, get the highest existing row number and I want to add a value to it -- so I can add the next table row with a new index. I get the index value correctly, but when I add one (1) to it, I get the string "11", rather than the number 2. Note that I specifically set the param to a number via the number() function. I've also tried using the number() function inside the select attribute of the apply-templates element, trying to coerce the result, but to no avail.

<xsl:template match="ntpServerTable">
<xsl:param name="rowindex">
<xsl:for-each select="ntpServerTableRow">
<xsl:sort select="ntpServerTableRowIndex" data-type="number" order="descending" />
<xsl:choose>
<xsl:when test="position() = 1">
<xsl:value-of select="number(ntpServerTableRowIndex)"/>
</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
</xsl:param>
<xsl:apply-templates select="ntpServerTableRow"/>
<ntpServerTableRowIndex><xsl:value-of select="$rowindex+1"/></ntpServerTableRowIndex>



Current Thread