Subject: RE: [xsl] Can keys go out of scope? From: "Michael Kay" <michael.h.kay@xxxxxxxxxxxx> Date: Sat, 2 Mar 2002 10:00:33 -0000 |
key() always selects nodes in the document containing the context node. You problem is probably that you are calling it at a point where the context node is in a different document (or temporary tree). Usual circumvention (in XSLT 1.0) is (a) define a global variable <xsl:variable name="root" select="/"/> (b) use key() within a for-each: <xsl:for-each select="$root"> <xsl:.... select="key('a', 'b')" </xsl:for-each> With XPath 2.0 you can write <xsl:.... select="$root/key('a', 'b')" to switch documents. Michael Kay Software AG home: Michael.H.Kay@xxxxxxxxxxxx work: Michael.Kay@xxxxxxxxxxxxxx > -----Original Message----- > From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx > [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of > TSchutzerWeissmann@xxxxxxxxxxxxxxxx > Sent: 01 March 2002 18:19 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Can keys go out of scope? > > > 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 > XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Can keys go out of scope?, Peter Davis | Thread | RE: [xsl] Can keys go out of scope?, TSchutzerWeissmann |
Re: [xsl] use variable in <xsl:if t, Robert Sösemann | Date | RE: [xsl] xsl:variable doesn't work, Michael Kay |
Month |