|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Addition/Subtraction of numbers.
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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








