Subject: Re: [xsl] XSL 1.0 - sum values taken from corresponding column From: "Eliot Kimber ekimber@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 12 Feb 2015 17:12:56 -0000 |
I think that in XSLT 1 the only solution would be to use sibling recursion: <xsl:template name="sumcells"> <xsl:param name="inSum"/> <xsl:variable name="sum" select="$inSum + number(.)"/> <xsl:choose> <xsl:when test="count(following-sibling::cell) = 0"> <xsl:value=of select="$sum"/> </xsl:when> <xsl:otherwise> <xsl:for-each select="following-sibling:cell[1]"> <xsl:with-param name="inSum" select="$sum"/> </xsl:for-each> </xsl:otherwise> </xsl:choose> </xsl:template> Cheers, E. bbbbb Eliot Kimber, Owner Contrext, LLC http://contrext.com On 2/12/15, 5:42 AM, "Kevin Bird kevinbrianbird@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: >Hello, > >In <col2>, where cell = num, return the corresponding col1/cell/@value, >summing the result. > ><root> > <col1> > <cell value="1">text</cell> > <cell value="12">text</cell> > <cell value="24">text</cell> > <cell value="100">text</cell> > <cell value="9">text</cell> > <cell value="6">text</cell> > </col1> > <col2> > <cell>num</cell> > <cell>-</cell> > <cell>num</cell> > <cell>-</cell> > <cell>num</cell> > <cell>num</cell> > </col2> > <col3> > <cell>-</cell> > <cell>num</cell> > <cell>num</cell> > <cell>num</cell> > <cell>num</cell> > <cell>-</cell> > </col3> ></root> > >Sum for <col2> is: 40 > >Sum for <col3> is: 145 > >I'd like an XPath solution, but I don't think that is possible. > >I tried using keys. > ><xsl:key name="byValue" match="cell" use="/root/col1/cell[position() = >count(current()/preceding-sibling::cell)+1]/@value"/> > >So each cell has the correct value, but I'm struggling to sum the values. >Maybe my thinking is wrong. > >Any help appreciated. > >-- >Kevin
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] XSL 1.0 - sum values taken fr, Kevin Bird kevinbria | Thread | Re: [xsl] XSL 1.0 - sum values take, Dimitre Novatchev dn |
[xsl] XSL 1.0 - sum values taken fr, Kevin Bird kevinbria | Date | Re: [xsl] XSL 1.0 - sum values take, Dimitre Novatchev dn |
Month |