导航

XSL Template递归调用

Posted on 2008-08-29 09:52  鸡尾虾的壳  阅读(335)  评论(0编辑  收藏  举报

从1,2,3,4,5中找出是否包含值5的XSL片段:

 

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:param name="count">5</xsl:param>
<xsl:template match="/">
<xsl:call-template name="result">
<xsl:with-param name="num"><xsl:value-of select="$count"/></xsl:with-param>
<xsl:with-param name="counter">1</xsl:with-param>
</xsl:call-template>
</xsl:template>

<xsl:template name="result">
<xsl:param name="num"/>
<xsl:param name="counter"/>
<xsl:if test="$counter<=$num">
<xsl:value-of select="$counter"/>
<xsl:call-template name="result">
<xsl:with-param name="num"><xsl:value-of select="$count"/></xsl:with-param>
<xsl:with-param name="counter"><xsl:value-of select="$counter + 1"/></xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>

</xsl:stylesheet>