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