xsl-list
[Top] [All Lists]

RE: Problem with xslt recursion

2004-02-10 10:09:25
and i have a recursive call to a template whose
function is to concatenate all the values with the tag
name Type..(The actual functionality of the template
is more than what is being described here..which
cannot be disclosed)

<xsl:template name="build">
<xsl:param name="ResourceName"/>
<xsl:param name="Index"/>
<xsl:param name="Count"/>
<xsl:variable name="try">
<xsl:value-of select ="ResourceTypeSet/Type[$In]"/> 
</xsl:variable> <xsl:if test="$Index &lt; $Count"> 
<xsl:call-template name="buildResourceName"> <xsl:with-param 
name="ResourceName"><xsl:value-of
select="concat($ResourceName,$TempResource)"/>    
</xsl:with-param>
<xsl:with-param name="Index"><xsl:value-of 
select="$Index+1"/></xsl:with-param>

<xsl:with-param name="Count"
select="$Count"></xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>

The initial call to the template is as follows 

<xsl:call-template name="build">
<xsl:with-param name="ResourceName"/>
<xsl:with-param name="Index" select="1"/>
<xsl:with-param name="Count" select="$Count+1"> </xsl:call-template>

The problem is that for each recursive call to the
template the value of try remains R1...
whereas it should have been R1 in the first call..
R2 for the next call..and R3 for the third cal..

I wanna know if what i am doing in the template is
correct..

Unless you show the recursive template there's not much that be done...

Im guessing you are calling the named template multiple times from the
same template, rather than calling the template from itself.  So you
aren't actually using recursion at all.  If you post the template it
should show this :)

cheers
andrew

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



<Prev in Thread] Current Thread [Next in Thread>