Re: [xsl] designing a xsl:uniq function

Subject: Re: [xsl] designing a xsl:uniq function
From: tcn@xxxxxxxxxxxxx (Trevor Nash)
Date: Tue, 04 Sep 2001 12:28:22 GMT
On Tue, 04 Sep 2001 13:17:49 +0100, Paul Terray wrote:

>Hello,
>
>I recently went through some code I wrote for a 3 levels index, and I was 
>very unproud of the result. My main problem is that I need to have a uniq 
>value for my elements. Is there a way to cleanly design a template that 
>would isolate an element, just like the xsl:sort works (a XSL equivalent to 
>the UNIX uniq utility) ?
>
>Perhaps a new command for XSLT 2.0 ? It would look like :
>
><xsl:for-each select="//indexentry[@level1=$my_first_level and @level2]">
>         <xsl:sort select="@level2"/>
>         <xsl:uniq select="@level2"/>
>[...]
></xsl:for-each>
>
>What do you think of it ?

This seems to be just one case of the more general set of problems
under the heading 'grouping'.  While you are waiting for XSLT 2.0, you
might like to look at Saxon's attempt, the extension elements 'group'
and 'item'.  I have used saxon:group for exactly the case you
describe, and its very neat.

Regards,
Trevor Nash
--
Traditional training & distance learning,
Consultancy by email

Melvaig Software Engineering Limited
voice:     +44 (0) 1445 771 271 
email:     tcn@xxxxxxxxxxxxx

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


Current Thread