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 |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Problem with filtrate sum, Martin Honnen | Thread | [xsl] RandomList.xsl from FXSL-xslt, Jesper Tverskov |
Re: [xsl] Problem with filtrate sum, Martin Honnen | Date | [xsl] Correct way to test for no ma, Dan Vint |
Month |