|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: re-ordering nodes/partial sort
<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:my="urn:mine" extension-element-prefixes="my"> <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/> <xsl:strip-space elements="*"/> <my:priorities>
<my:p desc="Bed & Breakfast"/>
<my:p desc="Bed & Breakfast (child)"/>
<my:p desc="Half Board"/>
<my:p desc="Half Board (child)"/>
<my:p desc="Full Board"/>
<my:p desc="Full Board (child)"/>
</my:priorities><xsl:variable name="priorities" select="document('')/xsl:stylesheet/my:priorities/my:p"/> <xsl:template match="/supplements"> <supplements> <xsl:apply-templates select="supp"> <xsl:sort select="count($priorities[@desc=current()/supp-desc]/preceding::*)"/> </xsl:apply-templates> </supplements> </xsl:template> <xsl:template match="supp">
<xsl:copy-of select="."/>
</xsl:template></xsl:stylesheet> This will sort the supp elements according to the position in my:priorities. Not found supp-desc strings will have priority 0 so they will be first in output. Of course you can also put the priorities in a separate file and select it like <xsl:variable name="priorities" select="document('priorities.xml')/my:priorities/my:p"/> Cheers, Anton Kevin Bird wrote: Hi David
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








