This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Key/Use
- To: <xsl-list at lists dot mulberrytech dot com>
- Subject: RE: [xsl] Key/Use
- From: "Michael Kay" <mhkay at iclway dot co dot uk>
- Date: Wed, 5 Sep 2001 17:26:42 +0100
- Reply-To: xsl-list at lists dot mulberrytech dot com
> 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"/>
>
Ignoring my mistake, that variable references are not allowed in the use
expression:
Writing
<xsl:key name="lookup" match="row" use="concat('US','_layer_name')"/>
doesn't mean
<xsl:key name="lookup" match="row" use="US_layer_name"/>
it means
<xsl:key name="lookup" match="row" use="'US_layer_name'"/>
I hope that makes the distinction clear. As we've said many times on this
list, you can't construct XPath expressions from strings. In simple cases
you can use the circumvention:
<xsl:key name="lookup" match="row"
use="*[name()=concat('US','_layer_name')]"/>
... but you're still stymied because you can't use variables.
Mike Kay
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list