This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: how do I find the sum for nested elements???
- From: Joshua dot Kuswadi at BTFinancialgroup dot com
- To: xsl-list at lists dot mulberrytech dot com
- Date: Thu, 6 Dec 2001 17:35:55 +1100
- Subject: RE: [xsl] how do I find the sum for nested elements???
- Reply-to: xsl-list at lists dot mulberrytech dot com
Hi Garrick,
For the below structure: (Note I've added a document element)
<AgentList>
> <AgentInfo>
> <MerchantList>
> <MerchantInfo>
> <Bal>10</Bal>
> </MerchantInfo>
> <MerchantInfo>
> <Bal>10</Bal>
> </MerchantInfo>
> </MerchantList>
> </AgentInfo>
> <AgentInfo>
> <MerchantList>
> <MerchantInfo>
> <Bal>10</Bal>
> </MerchantInfo>
> <MerchantInfo>
> <Bal>10</Bal>
> </MerchantInfo>
> </MerchantList>
> </AgentInfo>
<AgentList>
>
>
> I need the Total Balance i.e Grand Total for all Merchants
> ....and also the
> Total Balance Agent wise using XSL
something like this should return the desired result. (I'm assuming you want it in an HTML table format)
<xsl:stylesheet>
<xsl:template match="/AgentList">
<table>
<xsl:apply-templates select="AgentInfo" />
<tr>
<td>Grand total</td>
<td><xsl:value-of select="sum(AgentInfo/MerchantList/MerchantInfo/Bal)" /></td>
</tr>
</table>
</xsl:template>
<xsl:template match="AgentInfo">
<tr>
<td>Agent: <xsl:value-of select="position()" /></td>
<td><xsl:value-of select="sum(MerchantList/MerchantInfo/Bal)" /></td>
</tr>
</xsl:template>
</xsl:stylesheet>
>
> eg Grand Total =40
> (Agent wise)Total=20
HTH,
Joshua
------------------------------------------------------------------------------
This message and any attachment is confidential and may be privileged or otherwise protected from disclosure. If you have received it by mistake please let us know by reply and then delete it from your system; you should not copy the message or disclose its contents to anyone.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list