Subject: Re: Key/Use
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 5 Sep 2001 15:11:54 +0100
|
Excuse my ignorance but, why is this
<xsl:key name="lookup" match="row"
use="concat($TRANSFORMER_SourceCountry,'_layer_name')"/>
any more useless than?:
<xsl:key name="lookup" match="row" use="US_layer_name"/>
The first one uses a constant key value. If it were legal syntax (which
it would be if the explicit comment disallowing variables had not been
added to the spec) and if
$TRANSFORMER_SourceCountry were 'US' then
<xsl:key name="lookup" match="row"
use="concat($TRANSFORMER_SourceCountry,'_layer_name')"/>
would be
<xsl:key name="lookup" match="row"
use="'US_layer_name'"/>
ie every row gets the same key value 'US_layer_name' Thus you couldn't
use this key to get any subset of the row elements, just all of them at
once, in which case there's no need for a key at all you could just use
<xsl:variable name="x" select="//row"/>
The second one uses a non-constant Xpath.
each row gets the value of the US_layer_name element which is the child
of that row, so different rows potentially get different keys, and you
can use xsl:key to quickly find the rows with any particular key value.
David
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet
delivered through the MessageLabs Virus Scanning Service. For further
information visit http://www.star.net.uk/stats.asp or alternatively call
Star Internet for details on the Virus Scanning Service.
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
- Key/Use
- Kevin_Gutch - Tue, 4 Sep 2001 20:08:12 -0400 (EDT)
- <Possible follow-ups>
- Kevin_Gutch - Wed, 5 Sep 2001 09:51:57 -0400 (EDT)
- David Carlisle - Wed, 5 Sep 2001 10:20:42 -0400 (EDT) <=
- Michael Kay - Wed, 5 Sep 2001 12:29:46 -0400 (EDT)
- Thomas B. Passin - Wed, 5 Sep 2001 16:09:55 -0400 (EDT)
- Kevin_Gutch - Wed, 5 Sep 2001 10:41:26 -0400 (EDT)
|
|