[Home] [By Thread] [By Date] [Recent Entries]
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.white@xxxxxxxxxxx] > Sent: Tuesday, April 18, 2006 1:19 PM > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: 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> ====================================================================== Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx 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 ======================================================================
|

Cart



