[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] How to retrieve value(which is copied into RTF as a variable) from RTF
Subject: Re: [xsl] How to retrieve value(which is copied into RTF as a variable) from RTF From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 4 Jan 2005 13:41:34 GMT |
I have a RTF with following declaration <xsl:variable name="professionLevel"> <xsl:for-each select="//profession"> <xsl:variable name="nameval" select="@name"/> <xsl:variable name="parentval" select="@parent"/> <xsl:for-each select="exslt:node-set($leverreference)/*"> <xsl:variable name="referid" select="@levelref"/> <xsl:if test="$referid=$parentval"> <xsl:copy> <xsl:copy-of select="$nameval"/> </xsl:copy> </xsl:if> </xsl:for-each> </xsl:for-each> </xsl:variable> That looks a very strange definition. The select expression on your inner fo-each doesn't depend on the current node so you will iterate over all of $leverreference)/* repeatedly, as many times as you have profession elements in your original source, is that really what you want? The above is euivalent to <xsl:variable name="professionLevel"> <xsl:for-each select="//profession"> <xsl:variable name="nameval" select="@name"/> <xsl:variable name="parentval" select="@parent"/> <xsl:for-each select="exslt:node-set($leverreference)/*[@levelref=$parentval]"> <xsl:copy> <xsl:copy-of select="$nameval"/> </xsl:copy> </xsl:for-each> </xsl:for-each> </xsl:variable> Note that although the variable is called nameval it does not store an attribute value, but the attribute node so <xsl:copy> <xsl:copy-of select="$nameval"/> </xsl:copy> generates an empty element )with name the same as the element in $leverreference) with a name attribute. So <xsl:for-each select="exslt:node-set($professionLevel)/*"> <xsl:value-of select="."/> </xsl:for-each> will select a set of empty elements, <xsl:value-of select="."/> on each of them will be the empty string. You need to use <xsl:value-of select="@name"/> here in order to get any output, but that will just concatemate all the values, so probably you will need to add spaces or commas in between. David ________________________________________________________________________ This e-mail has been scanned for all viruses by Star. The service is powered by MessageLabs. For more information on a proactive anti-virus service working around the clock, around the globe, visit: http://www.star.net.uk ________________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Usage of key inside a for, Ranjan K. Baisak | Thread | Re: [xsl] How to retrieve value(whi, Ranjan K. Baisak |
Re: [xsl] How to retrieve value(whi, Ranjan K. Baisak | Date | Re: [xsl] How to retrieve value(whi, Ranjan K. Baisak |
Month |