xsl-list
[Top] [All Lists]

Re: Multi-level Sort

2005-02-07 10:48:36

  I was hoping someone might be able to help me with a sort problem.  I
  would like to sort on a presorted node in the same stylesheet.


I can't understand that description (or at least match it to the
example) what do you mean by a pre-sorted node? The example you give
doesn't have any sorting based on anything in the stylesheet, as far as
I can see.

In your example the ranges of brands in each if the document elements
did not overlap, I'll assume that is always the case so you can order
document/brands elements on their first brand:


<x>

<document>
        <brands>
                <brand>Brand F</brand>
                <brand>Brand E</brand>
        </brands>
</document>
<document>
        <brands>
                <brand>Brand B</brand>
                <brand>Brand A</brand>
        </brands>
</document>
<document>
        <brands>
                <brand>Brand C</brand>
                <brand>Brand D</brand>
        </brands>
</document>
</x>






<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                version="1.0">



<xsl:output indent="yes"/>

<xsl:template match="x">
<x>
<xsl:apply-templates select="document/brands">
<xsl:sort select="brand[1]"/>
</xsl:apply-templates>
</x>
</xsl:template>

<xsl:template match="brands">
<document><brands>
<xsl:apply-templates select="brand">
<xsl:sort select="."/>
</xsl:apply-templates>
</brands></document>
</xsl:template>


<xsl:template match="brand">
 <xsl:copy-of select="."/>
</xsl:template>


</xsl:stylesheet>




<x>
   <document>
      <brands>
         <brand>Brand A</brand>
         <brand>Brand B</brand>
      </brands>
   </document>
   <document>
      <brands>
         <brand>Brand C</brand>
         <brand>Brand D</brand>
      </brands>
   </document>
   <document>
      <brands>
         <brand>Brand E</brand>
         <brand>Brand F</brand>
      </brands>
   </document>
</x>



________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>