2008年9月13日星期六

XSLT里的函数循环,loop in xslt

XSLT没有提循环功能,但可以通xsl:call-template递归调用来模拟循环功能。示例:

<xsl:template name="loopfunc">

<xsl:param name="start"/>

<xsl:param name="end"/>



.......



<xsl:if test="$start &lt; $end">

<xsl:call-template name="loopfunc">

<xsl:with-param name="start"><xsl:value-of select="$start+1"/></xsl:with-param>

<xsl:with-param name="end" ><xsl:value-of select="$end"/></xsl:with-param>

</xsl:call-template>

</xsl:if>

</xsl:template>



可以看到,在这个模板结束的地方,再次调用自身,并将一个参数增加1,用于判断循环结束。

没有评论: