Thanks Murray et al,
I did have to make one small change to the placement of the <Item> element,
but I now have what I want.
This has to be the most responsive and helpful list on the Internet!
Mark
The final template:
<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>
<xsl:element name="Item">
<!-- output a Date element for each date "group" **within the
"Item>-->
<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:copy-of select="." copy-namespaces="no"></xsl:copy-of>
</xsl:for-each>
</xsl:element>
</xsl:for-each-group>
</xsl:element>
</xsl:template>
-----Original Message-----
From: Murray McDonald
Sent: Wednesday, July 27, 2011 12:19 PM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] Sorting seems not to work completely
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>
--~--
--~------------------------------------------------------------------
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>
--~--