xsl-list
[Top] [All Lists]

Re: [xsl] Sorting seems not to work completely

2011-07-27 14:19:42
Hi Mark,

Try this:

<xsl:template match="List">
   <xsl:element name="List">
     <xsl:for-each-group select="Item/Stamp" group-by="concat(Date/@year, '
', Date/@month, ' ', Date/@day)">
       <xsl:sort select="Date/@year" data-type="number"></xsl:sort>
       <xsl:sort select="Date/@month" data-type="number"></xsl:sort>
       <xsl:sort select="Date/@day" data-type="number"></xsl:sort>
       <!-- output a Date element for each date "group" -->
       <xsl:copy-of select="current()/Date"
copy-namespaces="no"></xsl:copy-of> 
       <xsl:for-each select="current-group()">
         <!-- this sorts the elements within each group -->
         <xsl:sort select="@value" order="descending"
data-type="number"></xsl:sort>
         <!-- this outputs each individual element within the group in
sorted order -->
         <xsl:element name="Item">
                        <xsl:copy-of select="."/>
                </xsl:element>
       </xsl:for-each>
     </xsl:for-each-group>
   </xsl:element>
 </xsl:template>


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