Subject: RE: [xsl] Usage of key inside a for loop of a RTF does not work properly From: "Michael Kay" <mike@xxxxxxxxxxxx> Date: Wed, 5 Jan 2005 09:45:02 -0000 |
The key() function selects nodes in the document that contains the context node. If the context node is in an RTF, it will select nodes in the RTF. If you want to select nodes in a different document, first make that document current. You can do this using xsl:for-each in XSLT 1.0, or in 2.0 by using $doc/key('k', val). Michael Kay http://www.saxonica.com/ > -----Original Message----- > From: Ranjan K. Baisak [mailto:ranjanbaisak@xxxxxxxxx] > Sent: 05 January 2005 07:12 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: [xsl] Usage of key inside a for loop of a RTF does > not work properly > > <xsl:for-each > select="exslt:node-set($leverreference)/*"> > <xsl:variable name="referid" select="@levelref"/> > > <xsl:for-each > select="key('professionlevelkey','$referid')"> > <xsl:value-of select="@name"/> > </xsl:for-each> > </xsl:for-each> > The output of above does not produce any output. > The definition of professionlevelkey key is <xsl:key > name="professionlevelkey" match="//professionlevel" > use="@id"/> > > But if I use > <xsl:for-each > select="exslt:node-set($leverreference)/*"> > <xsl:variable name="referid" select="@levelref"/> > > <xsl:for-each select="//professionlevel"> > <xsl:if test="$referid=@id"> > <xsl:value-of select="@name"/> > </xsl:if> > </xsl:for-each> > </xsl:for-each> > It gives correct output. > Weird....not sure whatz wrong in usage of key inside > RTF.. > > regards, > Ranjan > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Usage of key inside a for, Geert Josten | Thread | RE: [xsl] Usage of key inside a for, Ranjan K. Baisak |
Re: [xsl] Usage of key inside a for, Geert Josten | Date | RE: [xsl] for-each and summing base, Michael Kay |
Month |