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]
Other format: [Raw text]

Re: Can keys go out of scope?


If $template is a result-tree-fragment, then yes keys can go out of scope.  
Essentially, an RTF is a separate document, and each document has its own set 
of keys (the same applies when you for-each or apply-templates with the 
document() function).

What's happening is that your apply-templates is selecting nodes from another 
document (the RTF).  So in the other template way down the line, the context 
*document* (similar to the context node) is also the RTF.  Since that 
document has a different set of keys than the original source document, it 
doesn't work.

Sorry, but I don't think there is an easier way to do that, other than, 
perhaps, switching the context-document back to the original source document:

<xsl:for-each select="$current">
  <xsl:value-of select="key('scores', @ScoreRef)"/>
</xsl:for-each>

(I haven't tested that)

On Friday 01 March 2002 10:19, TSchutzerWeissmann@uk.imshealth.com wrote:
> I know keys can't go out of scope, I just want to know why I'm having to do
> this:
>
>  <xsl:template match="Billcode">
>    <xsl:variable name="current" select="."/>
>    <xsl:apply-templates
>      select="$template/sc:static/*" mode="static">
>      <xsl:with-param name="current" select="$current"/>
>      <xsl:with-param name="score" select="key('scores',@ScoreRef)"/>     #I
> shouldn't need to do this
>     </xsl:apply-templates>
>  </xsl:template>
>
>
> The key only gets used at the other end of some chained templates, and I
> would have hoped to be able to do this:
> <xsl:value-of select="key('scores',$current/@ScoreRef)"/>,
>
> given that I'm passing the Billcode element down the chain in the $current
> parameter. I've been through this n times, it even works on a different
> stylesheet. I've tested the value of $current/@ScoreRef at every step of
> the way, and it's what it was in the first template shown above. Any idea
> what's going on (or, (@~!#  as Captain Haddock would say)?
>
> Thanks for your help
> Tom
>
>
>
>
>  XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

-- 
Peter Davis
And now for something completely different.

 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]