Subject: Re: [xsl] Addition/Subtraction of numbers. From: Jeni Tennison <jeni@xxxxxxxxxxxxxxxx> Date: Wed, 23 Jan 2002 11:48:26 +0000 |
Hi Raj, > I am trying to add numbers present in two variables like > > <xsl:variable name="temp1" select="$t1 + $t2" /> > > if varaibles t1 , t2 have some numbers, it goes through fine. But if > they are null NaN is comming in the output. is there a way I can > convert these variables to numbers before adding them(null should be > converted to zero) or Is there any other way to handle this > condition. In XSLT 1.0 you need something like: <xsl:variable name="n1"> <xsl:choose> <xsl:when test="number($t1) = number($t1)"> <xsl:value-of select="$t1" /> </xsl:when> <xsl:otherwise>0</xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="n2"> <xsl:choose> <xsl:when test="number($t2) = number($t2)"> <xsl:value-of select="$t2" /> </xsl:when> <xsl:otherwise>0</xsl:otherwise> </xsl:choose> </xsl:variable> <xsl:variable name="temp1" select="$n1 + $n2" /> --- XSLT 2.0 makes it easier because of the conditional expressions in XPath 2.0. You can do: <xsl:variable name="n1" select="if (number($t1) = number($t1)) then $t1 else 0" /> <xsl:variable name="n2" select="if (number($t2) = number($t2)) then $t2 else 0" /> <xsl:variable name="temp1" select="$n1 + $n2" /> Depending on how you're getting the values of $t1 and $t2 (and the final definition of if-absent()) it might also be possible to use the if-absent() function: <xsl:variable name="temp1" select="if-absent($t1, 0) + if-absent($t2, 0)" /> Cheers, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Addition/Subtraction of numbe, Avula, Raj | Thread | Re: [xsl] Addition/Subtraction of n, David Carlisle |
Re: [xsl] Muenchian method, and key, Jeni Tennison | Date | Re: [xsl] Page number ranges, Gustaf Liljegren |
Month |