Re: [xsl] Problem with filtrate sum

Subject: Re: [xsl] Problem with filtrate sum
From: j23 <duniaj@xxxxxxxxxxxx>
Date: Thu, 1 Oct 2009 19:39:37 +0200
Thanks that's what I mean

2009/10/1 Martin Honnen <Martin.Honnen@xxxxxx>:
> j23 wrote:
>
>>        <xsl:template match="root-element">
>>
>>                <table>
>>                        <xsl:variable name="x">
>>                                <xsl:for-each select="Row[position()>=1]">
>>                                        <d><xsl:value-of
>> select="translate(Number,'.','')"/></d>
>>                                </xsl:for-each>
>>                        </xsl:variable>
>>
>>                        <td><xsl:value-of select="sum(exslt:node-set($x)/d)
>> "/></td>
>>
>>                </table>
>>        </xsl:template>
>>
>> </xsl:stylesheet>
>>
>> I would  like to sum number (without character '.'). It works.
>> Now I try sum  for one name, I make like this but it doesn't work
>> <xsl:value-of select="sum([Name = 'Joe']exslt:node-set($x)/d) "/>
>> How can I filtrate sum with using function translate, or key?
>
> If it is just for one name then you can simply change the code that sets up
> the variable e.g.
>
>                        <xsl:variable name="x">
>                                <xsl:for-each
select="Row[position()>=1][Name
> = 'Joe']">
>                                        <d><xsl:value-of
> select="translate(Number,'.','')"/></d>
>                                </xsl:for-each>
>                        </xsl:variable>
>
> then you would simply compute the sum as before
>  <xsl:value-of select="sum(exslt:node-set($x)/d)"/>
>
> If you want to compute the sum for several names then you need to store the
> name when you build your variable e.g.
>
>                        <xsl:variable name="x">
>                                <xsl:for-each select="Row[position()>=1]">
>                                        <d>
>  <name><xsl:value-of select="Name"/></name>
>  <value><xsl:value-of select="translate(Number,'.','')"/></value>
> </d>
>                                </xsl:for-each>
>                        </xsl:variable>
>
> Now you can compute e.g.
>
>  <xsl:value-of select="sum(exslt:node-set($x)/d[name = 'Joe']/value)"/>
>
> --
>
>        Martin Honnen
>        http://msmvps.com/blogs/martin_honnen/

Current Thread