[xsl] Sorting help

Subject: [xsl] Sorting help
From: "Vandna Sharma" <sharmav@xxxxxxxxxxxxx>
Date: Wed, 23 May 2007 10:07:43 -0400
I need help sorting XML file. This is the XSLT I am using. I am trying to sort
the PIPTransaction based on Usage tag, UsagePurpose.  UsagePurpose="Cancel"
transaction should be at the starting of the file and than rest of the
transaction. Thanks In advance.

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"; version="1.0"
xmlns:pd="http://www.oeb.gov.on.ca"; exclude-result-prefixes="pd">
<xsl:template name="Usage">
            <xsl:apply-templates mode="copynode"/>
</xsl:template>
<xsl:template match="@*" mode="copynode">
            <xsl:copy>
                        <xsl:apply-templates select="@*" mode="copynode"/>
                        <xsl:apply-templates mode="copynode"/>
            <xsl:for-each select="pd:Usage">
            <xsl:sort select="@UsagePurpose" order="descending"
data-type="text"/>
                        </xsl:for-each>
            </xsl:copy>
</xsl:template>
<xsl:template match="*" mode="copynode">
            <!--xsl:element name="{local-name()}" namespace=""-->
            <xsl:element name="{local-name()}">
                        <xsl:apply-templates select="@*" mode="copynode"/>
                        <xsl:apply-templates mode="copynode"/>
            </xsl:element>
</xsl:template>
</xsl:stylesheet>

XML file

<?xml version="1.0" encoding="UTF-8"?>
<PIPEDocument CreationDate="20070125070128125ES"
DocumentReferenceNumber="doc000006759814" Version="3.1"
xsi:schemaLocation="http://www.oeb.gov.on.ca PIPEDocument.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns="http://www.oeb.gov.on.ca";>
            <PIPTransaction TransactionReferenceNumber="000006759814">
                        <Usage BillRequired="Yes" UsagePurpose="Original">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                                    </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006759750">
                        <Usage BillRequired="Yes" UsagePurpose="Original">
                                    <ConsumerInformation>
                                                <FullName>997095</FullName>
                                    </ConsumerInformation>
                                    </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006759835">
                        <Usage BillRequired="Yes" UsagePurpose="Original">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                                    </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006759845">
                        <Usage BillRequired="Yes" UsagePurpose="Original">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                                    </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006759857">
                        <Usage BillRequired="Yes" UsagePurpose="Original">
                                    <ConsumerInformation>
                                                <FullName>997095</FullName>
                                    </ConsumerInformation>
                                    </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006759999">
                        <Usage BillRequired="Yes" UsagePurpose="Original">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                                    </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006760024">
                        <Usage BillRequired="Yes" UsagePurpose="Original">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                                    </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006760061">
                        <Usage BillRequired="Yes" UsagePurpose="Original">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                                    </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006760064">
                        <Usage BillRequired="Yes" UsagePurpose="Original">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                                    </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006760166">
                        <Usage BillRequired="Yes" UsagePurpose="Original">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                                    </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006760186">
                        <Usage BillRequired="Yes" UsagePurpose="Original">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                                    </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006760869">
                        <InvoiceSettlementTotal BillPurpose="Original">
                                    <MarketParticipantInformation>
                                                <CompanyName>ties
Ltd</CompanyName>
                                                <GSTRegistrationNumber>820586
</GSTRegistrationNumber>
                                                <MarketParticipantAccountNumb
er  ParticipantType="Distributor">02293594</MarketParticipantAccountNumber>
                                    </MarketParticipantInformation>
                                    </InvoiceSettlementTotal>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006760673">
                        <InvoiceSettlementDetail BillPurpose="Original"
TransactionCrossReferenceNumber="000006760869">
                                    <MarketParticipantInformation>
                                                <CompanyName>ties
Ltd</CompanyName>
                                                <GSTRegistrationNumber>867120
586</GSTRegistrationNumber>
                                                <MarketParticipantAccountNumb
er  ParticipantType="Distributor">0293594</MarketParticipantAccountNumber>
                                    </MarketParticipantInformation>
                                    </InvoiceSettlementDetail>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006756662">
                        <NSLSDaily UnitOfMeasure="kWh" Date="20070109">
                                    <Zone>
                                                <NSLSEntry>
                                                            <Consumption>1494
44</Consumption>
                                                            <Price>3.06</Pric
e>
                                                </NSLSEntry>
                                    </Zone>
                        </NSLSDaily>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006759538">
                        <ApplicationAdviceAccept
OriginalTransactionReferenceNumber="70230000700980"
PIPTransactionType="InvoiceBillReady">
                                    <ConsumerInformation>
                                                <FullName>Store
26805</FullName>
                                    </ConsumerInformation>
                                    <AccountInformation>
                                                <ConsumerAccountNumber
ParticipantType="Distributor">5717204267001720</ConsumerAccountNumber>
                                    </AccountInformation>
                        </ApplicationAdviceAccept>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006759632">
                        <DropRequest>
                                    <DropInformation>
                                                <Reason>Nonpayment By
Customer</Reason>
                                    </DropInformation>
                                    </DropRequest>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006759640">
                        <Usage
OriginalTransactionReferenceNumber="000006121188" BillRequired="Yes"
UsagePurpose="Cancel">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                        </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="00000659646">
                        <Usage
OriginalTransactionReferenceNumber="00000698902" BillRequired="Yes"
UsagePurpose="Cancel">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                        </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006759642">
                        <Usage
OriginalTransactionReferenceNumber="000006238274" BillRequired="Yes"
UsagePurpose="Cancel">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                        </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006759643">
                        <Usage
OriginalTransactionReferenceNumber="000006359096" BillRequired="Yes"
UsagePurpose="Cancel">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                        </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006759651">
                        <Usage
OriginalTransactionReferenceNumber="000006358797" BillRequired="Yes"
UsagePurpose="Cancel">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                        </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006759660">
                        <Usage
OriginalTransactionReferenceNumber="000006626224" BillRequired="Yes"
UsagePurpose="Cancel">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                        </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006759653">
                        <Usage
OriginalTransactionReferenceNumber="000006237816" BillRequired="Yes"
UsagePurpose="Cancel">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                        </Usage>
            </PIPTransaction>
            <PIPTransaction TransactionReferenceNumber="000006759662">
                        <Usage
OriginalTransactionReferenceNumber="000006121616" BillRequired="Yes"
UsagePurpose="Cancel">
                                    <ConsumerInformation>
                                                <FullName>o Ltd.
Partnership</FullName>
                                    </ConsumerInformation>
                                    </Usage>
            </PIPTransaction>
</PIPEDocu

Current Thread