xsl-list
[Top] [All Lists]

RE: Summating/grouping

2003-06-19 00:46:35
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[(_at_)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[(_at_)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[(_at_)Type =
'Tax']/TaxRate[(_at_)Code = $CODE])"/>
                                        </LinesAtRate>
                                        <Value>
                                                <xsl:value-of 
select="sum(/Invoice/InvoiceLine/Charge[(_at_)Type =
'Tax']/TaxRate[(_at_)Code = $CODE]/../Value)"/>
                                        </Value>
                                </Tax>
                        </xsl:for-each>
                </TaxSummary>
        </xsl:template>
</xsl:stylesheet>

Thanks 

Rob

-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com]On Behalf Of 
David
Carlisle
Sent: 18 June 2003 14:23
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Summating/grouping




<xsl:for-each select="/Invoice/InvoiceLine/Charge[(_at_)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



<Prev in Thread] Current Thread [Next in Thread>