xsl-list
[Top] [All Lists]

Re: Grouping while sorting

2004-11-23 07:20:10
Doh!

Found the solution - after having gone from the problem, then looking at it again - must have been overly tired... The solution was really simple.

(A small scetch of the solution is given for those interested - the question/problem can be found in yesterdays post with the same name)

Regards,
Ragulf Pickaxe :-)


<xsl:key name="elems" match="Elem" use="@GroupID" />

<xsl:template match="Root">
 <xsl:for-each select="Elem[generate-id(.) =
generate-id(key('elems', @GroupID)[1])][Condition1]">
   <Group><xsl:value-of select="@GroupID" /></Group>
   <xsl:for-each select="key('elems', @GroupID)">
     <xsl:sort select="@Order" data-type="number" />
     <xsl:value-of select="." /> -
   </xsl:for-each>
 </xsl:for-each>

 <xsl:for-each select="Elem[generate-id(.) =
generate-id(key('elems', @GroupID)[1])][Condition2]">
   <Group><xsl:value-of select="@GroupID" /></Group>
   <xsl:for-each select="key('elems', @GroupID)">
     <xsl:sort select="@Order" data-type="number" />
     <xsl:value-of select="." /> -
   </xsl:for-each>
 </xsl:for-each>

 <xsl:for-each select="Elem[generate-id(.) =
generate-id(key('elems', @GroupID)[1])][Condition3]">
   <Group><xsl:value-of select="@GroupID" /></Group>
   <xsl:for-each select="key('elems', @GroupID)">
     <xsl:sort select="@Order" data-type="number" />
     <xsl:value-of select="." /> -
   </xsl:for-each>
 </xsl:for-each>
.....
</xsl:template>

Where I can use templates to make the code more succint.

_________________________________________________________________
FREE pop-up blocking with the new MSN Toolbar - get it now! http://toolbar.msn.click-url.com/go/onm00200415ave/direct/01/


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