This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Key/Use



Thanks for clearing it up for me. Mr. Kay's comments indicate that it is
valid (not here to argue just pointing that out). But whether valid or not
it is useless for me to attempt.
So I guess I can not have a dynamic lookup table?







                                                                                                     
                    David Carlisle                                                                   
                    <davidc@nag.co.uk>                 To:     xsl-list@lists.mulberrytech.com       
                    Sent by:                           cc:                                           
                    owner-xsl-list@lists.mulber        Subject:     Re: [xsl] Key/Use                
                    rytech.com                                                                       
                                                                                                     
                                                                                                     
                    09/05/2001 10:11 AM                                                              
                    Please respond to xsl-list                                                       
                                                                                                     
                                                                                                     




    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






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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]