xsl-list
[Top] [All Lists]

RE: grouping by unique...

2003-06-18 12:35:16
[I wrote]
I think what you really want to do is apply templates
to <solution>s instead of <item>s, and modify your select=
like this:

    <xsl:if test="generate-id(..) = 
generate-id(key('solution-key', .)[1])">

P.S.
Since you're looking at a "large amount of nodes", I wouldn't
use apply-templates at all; just combine the select and the
if test into a for-each:

  <xsl:template match="report">
    <!-- using Muenchian technique to display a list of unique solutions -->
    <xsl:for-each select="item/metadata/solution[generate-id(..) =
                          generate-id(key('solution-key', .)[1])]">
      <xsl:sort select="." />
      <xsl:value-of select="." />
    </xsl:for-each>       
  </xsl:template>
  
That might make things faster.

Lars


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list