My understanding is that the <xsl:sort has to go after a <xsl:for-each clause.
 
 
Christian


From: Stephane Dion [mailto:[EMAIL PROTECTED]
Sent: Thursday, October 20, 2005 9:51 AM
To: [email protected]
Subject: xalan xsl:sort does not sort!

Hi

 

            I’m using Xalan and trying to sort blocks of element but without success.

 

            I’m trying to sort each block of NetPrice element by the attribute NetAmount.  In each ProductOption, I have multiple NetPrice element

 

            Check my example below.

 

Thanks for your help

Stephane

 

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <xsl:output method="xml"/>

 

  <xsl:template match="/GetProductOptionsResponse/DetailedProduct/ProductOptionGroup/ProductOption">

    <xsl:copy>

       <xsl:apply-templates>

         <xsl:sort data-type="number" select="NetPrice/@netAmount" order="ascending"/>

       </xsl:apply-templates>

    </xsl:copy>

  </xsl:template>

 

  <xsl:template match="*">

    <xsl:copy>

      <xsl:apply-templates/>

    </xsl:copy>

  </xsl:template>

</xsl:stylesheet>

 

 

<GetProductOptionsResponse xmlns="http://www.org/TRIP2004A/01";>

    <Header language="en" version="5.1.0"/>

        <DetailedProduct availabilityStatus="available">       

        <ProductOptionGroup description="OPTION GROUP 1">           

            <ProductOption description="option A">

               <NetPrice currency="EUR" netAmount="2.27" priceReferenceID="HTLAVO13XAAX" quantity="1"/>

               <NetPrice currency="EUR" netAmount="-45.09" priceReferenceID="HTLAVO13XAAX" quantity="1"/>

               <TravelerPrice age="10" travelerId="003">

                    <PriceSummary baseAmount="0.00"/>

               </TravelerPrice>

            </ProductOption>

            <ProductOption description="option B">

                <NetPrice currency="EUR" netAmount="222.27" priceReferenceID="HTLAVO13XAAX" quantity="1"/>

                <NetPrice currency="EUR" netAmount="45.09" priceReferenceID="HTLAVO13XAAX" quantity="1"/>

               <TravelerPrice age="10" travelerId="003">

                    <PriceSummary baseAmount="0.00"/>

               </TravelerPrice>

            </ProductOption>

        </ProductOptionGroup>

        <ProductOptionGroup description="OPTION GROUP 2">           

            <ProductOption description="option Z">

                <NetPrice currency="EUR" netAmount="5.55" priceReferenceID="BHTLAVO13XAAX" quantity="1"/>

                <NetPrice currency="EUR" netAmount="-145.09" priceReferenceID="BHTLAVO13XAAX" quantity="1"/>

               <TravelerPrice age="99" travelerId="001">

                    <PriceSummary baseAmount="1.00"/>

               </TravelerPrice>

            </ProductOption>

        </ProductOptionGroup>

        </DetailedProduct>

</GetProductOptionsResponse>

 

 

 

Reply via email to