Perhaps you are thinking that xsl:apply-imports passes the parameters on
to the invoked template rule. It doesn't. Apply-imports doesn't allow
parameters to be passed in 1.0, either explicitly or implicitly. This is
fixed in 2.0.
Michael Kay
-----Original Message-----
From: owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
[mailto:owner-xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com] On Behalf Of
Tom Whitehouse
Sent: 05 March 2003 17:15
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] apply-imports and recursion used together
Can someone explain to me the technical reason behind the following:
The following template exists in an imported stylesheet:
<xsl:template match="FORUMTHREADPOSTS" mode="postblocks">
<xsl:param name="skip" select="0"/>
<xsl:param name="PostRange" select="concat(($skip + 1),
' - ', ($skip +
@COUNT))"/>
<xsl:param name="postblockon"
select="concat($alt_nowshowing, ' ',
$PostRange)"/>
<xsl:param name="postblockoff" select="concat($alt_show, ' ',
$PostRange)"/>
<a
href="{$root}F{(_at_)FORUMID}?thread={@THREADID}&skip={$skip}&a
mp;show={(_at_)COUNT}">
<xsl:choose>
<xsl:when test="@SKIPTO = $skip">
<xsl:copy-of select="$postblockon"/>
</xsl:when>
<xsl:otherwise>
<xsl:copy-of select="$postblockoff"/>
</xsl:otherwise>
</xsl:choose>
</a>
<xsl:if test="($skip + @COUNT) < @TOTALPOSTCOUNT">
<xsl:apply-templates select="." mode="postblocks">
<xsl:with-param name="skip"
select="$skip + @COUNT"/>
</xsl:apply-templates>
</xsl:if>
</xsl:template>
The template works in the way I would expect it. However if
an apply-imports
template is used in the including template I get an infinite loop:
<xsl:template match="FORUMTHREADPOSTS" mode="postblocks">
<xsl:apply-imports/>
</xsl:template>
reagrds
Tom
_________________________________________________________________
Surf together with new Shared Browsing
http://join.msn.com/?page=features/browse&pgmarket=en-gb&XAPID
=74&DI=1059
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list