Subject: Re: [xsl] re-ordering nodes/partial sort From: "M. David Peterson" <m.david@xxxxxxxxxx> Date: Sun, 10 Oct 2004 11:30:37 -0700 |
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="supp"> <xsl:for-each select=". | ../supp[contains(supp-desc, current()/supp-desc)]"> <xsl:sort select="supp-desc"/> <xsl:copy-of select="."/> </xsl:for-each> </xsl:template>
Hi
In the following structure I can receive 1 or many <supp> nodes. Some of the <supp> nodes need re-arranging depending on their <supp-desc>. The order is: Bed & Breakfast, Bed & Breakfast (child), Half Board, Half Board (child), Full Board and Full Board (child). Any <supp> with a <supp-desc> that is not one of the above appear before them in the output.
Any suggestions would be greatly appreciated.
--INPUT--
<supplements> <supp> <supp-desc>Sea View</supp-desc> <supp-price>10.00</supp-price> </supp> <supp> <supp-desc>Half Board</supp-desc> <supp-price>30.00</supp-price> </supp> <supp> <supp-desc>Bed & Breakfast</supp-desc> <supp-price>4.00</supp-price> </supp> <supp> <supp-desc>Full Board</supp-desc> <supp-price>60.00</supp-price> </supp> <supp> <supp-desc>Half Board (child)</supp-desc> <supp-price>15.00</supp-price> </supp> <supp> <supp-desc>Full Board (child)</supp-desc> <supp-price>30.00</supp-price> </supp> <supp> <supp-desc>Bed & Breakfast (child)</supp-desc> <supp-price>2.00</supp-price> </supp> <supp> <supp-desc>Balcony</supp-desc> <supp-price>8.00</supp-price> </supp> </supplements>
--REQUIRED OUTPUT--
<supplements> <supp> <supp-desc>Sea View</supp-desc> <supp-price>10.00</supp-price> </supp> <supp> <supp-desc>Balcony</supp-desc> <supp-price>8.00</supp-price> </supp> <supp> <supp-desc>Bed & Breakfast</supp-desc> <supp-price>4.00</supp-price> </supp> <supp> <supp-desc>Bed & Breakfast (child)</supp-desc> <supp-price>2.00</supp-price> </supp> <supp> <supp-desc>Half Board</supp-desc> <supp-price>30.00</supp-price> </supp> <supp> <supp-desc>Half Board (child)</supp-desc> <supp-price>15.00</supp-price> </supp> <supp> <supp-desc>Full Board</supp-desc> <supp-price>60.00</supp-price> </supp> <supp> <supp-desc>Full Board (child)</supp-desc> <supp-price>30.00</supp-price> </supp> </supplements>
Thanks.
-- Kevin
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] re-ordering nodes/partial, Kevin Bird | Thread | [xsl] Xslt transform & grouping, Us, row.filter |
Re: [xsl] Xslt transform & grouping, M. David Peterson | Date | RE: [xsl] re-ordering nodes/partial, Kevin Bird |
Month |