Re: [xsl] More Efficient way of mathching ID's

Subject: Re: [xsl] More Efficient way of mathching ID's
From: "Spencer Tickner" <spencertickner@xxxxxxxxx>
Date: Mon, 3 Apr 2006 13:22:04 -0800
Hi Guys,

Thank you both for the great responses. I've given them all a try with
very significant time improvements. I had a feeling I could be doing
this better using keys, but I did not know about the id() function. I
appreciate you both pointing me in the right direction.

Spencer

On 4/3/06, David Carlisle <davidc@xxxxxxxxx> wrote:
>
> // means search the entire document to arbitrary depth and don't stop if
> you find the element with this id as there might be more of them. This
> tends to be slow.
>
> If your qpid attribute is of type ID in a dtd you can use the id function
> to directly select that element without having to use a path expresion
> if not you can use xsl:key do the same thing.
>
> so replace
>                         <xsl:apply-templates
>                         select="$fIntents//sentence[@qpid =
>                         $mykey]/intentref"/>
>
> by
>
> <xsl:for-each select="$fintents">
> <xsl:apply-templates select="id($mykey)"/>
> </xsl:for-each>
>
> or..
>
> <xsl:key name="s"  match="sentence" use="@qpid"/>
> ...
> <xsl:for-each select="$fintents">
> <xsl:apply-templates select="key('s',$mykey)"/>
> </xsl:for-each>
>
> David
>
> ________________________________________________________________________
> This e-mail has been scanned for all viruses by Star. The
> service is powered by MessageLabs. For more information on a proactive
> anti-virus service working around the clock, around the globe, visit:
> http://www.star.net.uk
> ________________________________________________________________________

Current Thread