Subject: Re: [xsl] re-ordering nodes/partial sort From: "M. David Peterson" <m.david@xxxxxxxxxx> Date: Sun, 10 Oct 2004 09:38:13 -0700 |
<?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/"> <supplements> <xsl:apply-templates select="supplements/supp"> <xsl:sort select="supp-desc"/> </xsl:apply-templates> </supplements> </xsl:template>
<xsl:template match="supp"> <xsl:copy-of select="."/> </xsl:template>
<?xml version="1.0" encoding="UTF-8"?> <supplements> <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>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> <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>Sea View</supp-desc> <supp-price>10.00</supp-price> </supp> </supplements>
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 -> |
---|---|---|
[xsl] re-ordering nodes/partial sor, Kevin Bird | Thread | RE: [xsl] re-ordering nodes/partial, Kevin Bird |
[xsl] re-ordering nodes/partial sor, Kevin Bird | Date | [xsl] Xslt transform & grouping, Us, row.filter |
Month |