Hi
Even if I removed the namespace from my source, my output is not
sorted.
The output document is missing the ProductOption element! Why?
<?xml version="1.0" encoding="UTF-8"?><GetProductOptionsResponse>
<Header/>
<DetailedProduct>
<ProductOptionGroup>
<NetPrice>W</NetPrice>
<NetPrice>M</NetPrice>
<TravelerPrice>
<PriceSummary/>
</TravelerPrice>
</ProductOptionGroup>
</DetailedProduct>
</GetProductOptionsResponse>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="xml"/>
<xsl:template
match="/GetProductOptionsResponse/DetailedProduct/ProductOptionGroup/Product
Option">
<xsl:apply-templates>
<xsl:sort data-type="number" select="NetPrice/@NetAmount"
order="ascending"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="*">
<xsl:copy>
<xsl:apply-templates/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
I would like the original source document (with all attributes) with
the NetPrice elements sorted.
Please help!
Stephane
-----Message d'origine-----
De : Michael Kay [mailto:mike(_at_)saxonica(_dot_)com]
Envoyé : October 17, 2005 13:30
À : xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Objet : RE: [xsl] xsl:sort blocks of element with an attribute value
Your source document has a default namespace, so the names in your path
expressions and match patterns in the stylesheet need to be prefixed.
Google for "XSLT FAQ default namespace"
Michael Kay
http://www.saxonica.com/
-----Original Message-----
From: Stephane Dion [mailto:stephane(_at_)accovia(_dot_)com]
Sent: 17 October 2005 17:47
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: RE: [xsl] xsl:sort blocks of element with an attribute value
It's not working.
In my case, I'm not sure if I should use xsl:for-each instead of
apply-template. I read the documentation but it's not clear
for me. What do
you think?
Thanks
Stephan
-----Message d'origine-----
De : Michael Kay [mailto:mike(_at_)saxonica(_dot_)com]
Envoyé : October 17, 2005 10:19
À : xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Objet : RE: [xsl] RE : RE: [xsl] xsl:sort blocks of element with an
attribute value
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(_at_)accovia(_dot_)com]
Sent: 17 October 2005 15:05
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] RE : RE: [xsl] 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
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail:
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--