RE: [xsl] Key/Use

Subject: RE: [xsl] Key/Use
From: "Michael Kay" <mhkay@xxxxxxxxxxxx>
Date: Wed, 5 Sep 2001 17:26:42 +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"/>
>
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


Current Thread