我想了解xslt中的背景。任何人都可以解釋這段代碼中發生了什麼。在xslt中下降遞歸
<xsl:template name="factorial">
<xsl:param name="number" select="1"/>
<xsl:choose>
<xsl:when test="$number <= 1">
<xsl:value-of select="1"/>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="recursive_result">
<xsl:call-template name="factorial">
<xsl:with-param name="number" select="$number - 1"/>
</xsl:call-template>
</xsl:variable>
<xsl:value-of select="$number * $recursive_result"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
我不明白爲什麼我們用<xsl:variable name="recursive_result">
包裝析因模板。
如果有更清晰的例子可用,請指導我。我缺乏遞歸知識。
一個簡單的問題爲什麼我們要在代碼頂部使用' '?它不會導致數字總是1? –
newday
2013-02-13 06:29:15
我不知道我是否正確答案......你的意思是爲什麼param不在模板定義之外?如果這是你的問題...... param是一個佔位符,可以將值作爲模板調用參數。參數也是不變的。 – OkieOth 2013-02-13 15:08:19