Subject: Re: [xsl] Problem with xslt recursion From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 10 Feb 2004 16:47:04 GMT |
and i have a recursive call to a template whose function is to concatenate all the values with the tag You don't need recursion to do that <xsl:copy-of select="Type/text()"/> is all you need. However <xsl:value-of select ="ResourceTypeSet/Type[$In]"/> I assume thst isn't your actual code as $In is not defined, assuming that you have <xsl:value-of select ="ResourceTypeSet/Type[$Index]"/> then your problem is that the short hand Type[3] for Type[position()=3] only tales place if the thing in teh [] is a number. $Index starts off as a number <xsl:with-param name="Index" select="1"/> but then you redeclare it to be a result tree fragment <xsl:with-param name="Index"><xsl:value-of select="$Index+1"/></xsl:with-param> If you use a result tree fragment as a boolean then it is always true as it corresponds to a non empty node set so ResourceTypeSet/Type[$Index] is ResourceTypeSet/Type[true()] which is ResourceTypeSet/Type ie it selects all the Tyope nodes, then <xsl:value-of always returns the value of (only) the first node selected, so you will always get the first one back. David -- http://www.dcarlisle.demon.co.uk/matthew ________________________________________________________________________ This e-mail has been scanned for all viruses by Star Internet. 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 ________________________________________________________________________ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Problem with xslt recursion, Roopesh Kumar | Thread | Re: [xsl] Problem with xslt recursi, Roopesh Kumar |
Re: [xsl] Several XSLT using one XS, David Carlisle | Date | Re: [xsl] Problem with xslt recursi, Wendell Piez |
Month |