|
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 |