Subject: RE: RE : RE: xsl:sort blocks of element with an attribute value
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 17 Oct 2005 15:18:46 +0100
|
I think you want
<xsl:sort select="NetPrice/@netAmount" data-type="number"/>
- though this doesn't handle multiple currencies!
Michael Kay
http://www.saxonica.com/
> -----Original Message-----
> From: Stephane Dion [mailto:stephane@xxxxxxxxxxx]
> Sent: 17 October 2005 15:05
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE : RE: xsl:sort blocks of element with
> an attribute value
>
> Hi
>
> As requested, this is my stylesheet.
>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> version="2.0">
> <xsl:output method="xml"/>
> <xsl:template
> match="/GetProductOptionsResponse/DetailedProduct/ProductOptio
> nGroup/Product
> Option">
> <xsl:apply-templates>
> <xsl:sort data-type="number" select="@NetPrice"
> order="ascending"/>
> </xsl:apply-templates>
> </xsl:template>
>
> <xsl:template match="*">
> <xsl:copy>
> <xsl:apply-templates/>
> </xsl:copy>
> </xsl:template>
> </xsl:stylesheet>
>
> Thanks for your help
> Stephan
>
> Hi
>
> Could someone help me with this.
>
> I would like to sort each NetPrice block by the
> attribute value
> netAmount (ascending) of each block.
>
> Here is my XML:
>
> <GetProductOptionsResponse xmlns="http://www.accovia/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="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>
> </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>
>
> I have tried many many ways without success.
>
> Thanks in advance for your help
> Stephan
>
|