RE: [xsl] key with restricting the scope of use attribute

Subject: RE: [xsl] key with restricting the scope of use attribute
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Fri, 11 May 2001 09:48:05 +0100
> I have a key that works when the match is anchored to
> fixed path /a/b/c
>
>   <xsl:key name="MyKey" match="/a/b/c" use="?"/>
>
> My ultimate goal is to recursively process //a/b/c
> using a single key using a breadth first or depth first
> algorithm. If the node I am currently processing is held
> in a variable $CurrentNode, how would you construct
> the key to restrict its matching to just this node? In other
> words, I need to form the use attribute knowing $CurrentNode
> so that match="//a/b/c" does not match anthing other than
> $CurrentNode.

There's some basic misunderstanding here about what a key is.

Think of <xsl:key> as being like "create index" in SQL: it defines an index
for all the "match"ed nodes in the document, that allows them to be
retrieved using the value of the "use" property. The contents of the index
are fixed when the source document is loaded, it doesn't make sense to
change them depending on the contents of a variable.

Mike Kay
Software AG


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


Current Thread