RE: [xsl] Converting non-numeric characters to numbers

Subject: RE: [xsl] Converting non-numeric characters to numbers
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Wed, 7 Mar 2001 16:47:10 -0000
> For example my XML would be as follows:
> <AAA>
>    <BBB>123</BBB>
>    <BBB>456</BBB>
>    <BBB>-</BBB>
>    <BBB>789</BBB>
> </AAA>
>
> <xsl:variable name="TotalSum" select="sum(AAA/BBB[not '-'])">
>
That should be rejected as a syntax error.

Try <xsl:variable name="TotalSum" select="sum(AAA/BBB[not(.='-')])">

or if you want to reject all the non-numeric ones

<xsl:variable name="TotalSum" select="sum(AAA/BBB[number(.)=number(.)])">

(That's weird, it relies on the fact that the only number that isn't equal
to itself is NaN)

Mike Kay


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread