|
Subject: RE: [xsl] key with restricting the scope of use attribute From: Dan Diebolt <dandiebolt@xxxxxxxxx> Date: Fri, 11 May 2001 05:02:10 -0700 (PDT) |
M>There's some basic misunderstanding here about what a key is.
M>Think of <xsl:key> as being like "create index" ...
M>it doesn't make sense to
M>change them depending on the contents of a variable.
I didn't know precisely when the key became "fixed" but
I am not trying to alter the key definition dynamically.
I am trying to create a set of similar keys parameterized
by the node I am visiting.
I need to traverse a set of nodes (//a/b) and at each node
do some heavy processing involving repeated evaluation of
a key to process other nodes (more or less underneath
the node I am visiting). At each node, lets say I need to
retrieve nodes associated with the combined value of @x and
@y. But I want to restrict the nodes returned by key() to those
associated with the current node that I am visiting. So I
take the approach of building the use attribute from *three* pieces
of information @x, @y and something unique to the $CurrentNode
namely generate-id().
This is why I need to build the use key having part of it derived
from the current node:
<xsl:key name="MyKey" match="a/b"
use="concat(generate-id(),':',@x,':',@y)"/>
^^^^^^^^^^^^^
<xsl:for-each select="key('MyKey',
concat(generate-id(),':',$xyCombo))">
^^^^^^^^^^^^^
It appears to work, but I am a little uncertain if this is the
best appraoch to implement with. So I am asking for comments and
alternate suggestions.
Regards,
Dan
__________________________________________________
Do You Yahoo!?
Yahoo! Auctions - buy the things you want at great prices
http://auctions.yahoo.com/
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] key with restricting the , Dan Diebolt | Thread | Re: [xsl] key with restricting the , David Carlisle |
| [xsl] xmlspy and copy-of, Stefan M. Ritter | Date | Re: [xsl] xmlspy and copy-of, David Carlisle |
| Month |