Re: [xsl] Advantages of using key()?

Subject: Re: [xsl] Advantages of using key()?
From: Frans Englich <frans.englich@xxxxxxxxx>
Date: Thu, 23 Sep 2004 19:46:33 +0000
On Thursday 23 September 2004 19:16, yguaba@xxxxxxxxxxxx wrote:
> Hello all,
>
> What are the advantages of using xsl:key and key()?
>
> For instance, instead of using this:
>
> <xsl:key name="test" match="/root/child" use="@attrib"/>
> .
> .
> .
> <xsl:for-each select="key('test', 'special')">
> <xsl:apply-templates/>
> </xsl:for-each>
>
> why not simply use this:
>
> <xsl:for-each select="/root/child[@attrib='special']">
> <xsl:apply-templates/>
> </xsl:for-each>

That would work too, AFAIK. But xsl keys was created for other purposes, such 
as simple grouping. It's also possible it make lookups faster since it's 
essentially is an index. Could someone confirm/deny? 

I'm wondering, isn't it possible to in the above example do:

<xsl:apply-templates select="key('test', 'special')"/>

instead of the for-each?


Cheers,

		Frans

Current Thread