At 01:31 PM 4/18/2006, it was written:
I'm trying to remember, but isn't "+" used for concatenation? So, yes,
1+1=11.
Nope, it isn't, not in XSLT (or more precisely, XPath).
I think the problem is the <xsl:otherwise>0</xsl:otherwise>. My guess
is that the test is being run on a table with two rows: the first has
an index of '1' assigned, so '1' is appended. The next (position()=2)
hits the otherwise so '0' is appended, resulting in the string '10'.
XPath coerces this string to 10, add 1 to it and get 11.
If you had a table with three rows, you'd get 101, four rows would
get 1001, etc.
If this is correct, just change the <xsl:choose> to an <xsl:if> to
get rid of the otherwise clause. It shouldn't be there anyway.
Cheers,
Wendell
> -----Original Message-----
> From: Eric White [mailto:eric(_dot_)white(_at_)ionpipe(_dot_)com]
> Sent: Tuesday, April 18, 2006 1:19 PM
> To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
> Subject: [xsl] 1 + 1 = 11
>
> 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>
>
>
> --~------------------------------------------------------------------
> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
> To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
> or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
> --~--
>
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
======================================================================
Wendell Piez
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--