Re: [xsl] Problem with xslt recursion

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.


<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

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



which is

ie it selects all the Tyope nodes, then 

always returns the value of (only) the first node selected, so you will
always get the first one back.



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:

 XSL-List info and archive:

Current Thread