RE: [xsl] Summating/grouping

Subject: RE: [xsl] Summating/grouping
From: "Rob Anderson" <roba@xxxxxxxxxx>
Date: Thu, 19 Jun 2003 08:46:35 +0100
Any chance of correcting my example xsl?

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
	<!--	I am hoping that this builds up a list of all the items by Tax rate
code -->
	<xsl:key name="TAX" match="/Invoice/InvoiceLine/Charge[@Type =
'Tax']/TaxRate" use="@Code"/>
	<xsl:template match="/">
		<TaxSummary>
			<!--	I am hoping that this will return the first element of each of the
Tax codes, i.e. 'S', 'E', 'Z' -->
			<xsl:for-each select="/Invoice/InvoiceLine/Charge[@Type =
'Tax']/TaxRate/@Code[generate-id(.)=generate-id(key('TAX', @Code)[1])]">
				<!-- this should be the TaxRate Code -->
				<xsl:variable name="CODE" select="."/>
				<Tax Code="{$CODE}">
					<Rate>
						<xsl:value-of select="TaxRate"/>
					</Rate>
					<LinesAtRate>
						<xsl:value-of select="count(/Invoice/InvoiceLine/Charge[@Type =
'Tax']/TaxRate[@Code = $CODE])"/>
					</LinesAtRate>
					<Value>
						<xsl:value-of select="sum(/Invoice/InvoiceLine/Charge[@Type =
'Tax']/TaxRate[@Code = $CODE]/../Value)"/>
					</Value>
				</Tax>
			</xsl:for-each>
		</TaxSummary>
	</xsl:template>
</xsl:stylesheet>

Thanks 

Rob

-----Original Message-----
From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx
[mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of David
Carlisle
Sent: 18 June 2003 14:23
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Summating/grouping




<xsl:for-each select="/Invoice/InvoiceLine/Charge[@Type =
'Tax']/TaxRate/@Code[generate-id(.)=generate-id(key('TAX', @Code)[1])]">

               ^here your current node is a code attribute
but the predicate will be false for all of them as the keuy matches 
Charge elements.


David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread