Re: [xsl] Keys off of variable xml source

Subject: Re: [xsl] Keys off of variable xml source
From: Karl Stubsjoen <kstubs@xxxxxxxxx>
Date: Thu, 31 Mar 2005 16:47:29 -0700
Hmmm... thanks Wendell, now just thinking if this approach will work for me.
If I'm driving off of the xml source document, and need to perform a
lookup of my key which references external xml source, then I guess
I'm not in context....



On Thu, 31 Mar 2005 18:27:53 -0500, Wendell Piez
<wapiez@xxxxxxxxxxxxxxxx> wrote:
> Karl,
> 
> At 06:17 PM 3/31/2005, you wrote:
> >Is it legal to create a key off of an xml source stored as a variable?
> >So the key decleration might look like:
> >
> ><xsl:key name="myKey" match="$external_xml_source//data" use="some_element"/>
> 
> This isn't legal, but not for the reason you think. In XSLT 1.0, a match
> pattern can't contain a variable reference.
> 
> >If not, is there a workaround?
> 
> None is needed, really. If you declare the key normally
> 
> <xsl:key name="myKey" match="data" use="some_element"/>
> 
> and then be sure that when you call it, the context is inside
> $external_xml_source, you'll be fine:
> 
> <xsl:variable name="var" select="[anything you need to capture context]"/>
> <xsl:for-each select="$external_xml_source">
>   ... inside here the key will retrieve nodes from $external_xml_source,
>       and $var still refers to whatever you need from outside it ...
> </xsl:for-each>
> 
> Your XSLT processor has enough information here to do the right thing --
> and keys are specified to work this way.
> 
> This is a FAQ.
> 
> Cheers,
> Wendell
> 
> ======================================================================
> Wendell Piez                            mailto:wapiez@xxxxxxxxxxxxxxxx
> Mulberry Technologies, Inc.                http://www.mulberrytech.com
> 17 West Jefferson Street                    Direct Phone: 301/315-9635
> Suite 207                                          Phone: 301/315-9631
> Rockville, MD  20850                                 Fax: 301/315-8285
> ----------------------------------------------------------------------
>   Mulberry Technologies: A Consultancy Specializing in SGML and XML
> ======================================================================

Current Thread