|
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 |