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">
。
より明確な例が利用可能な場合は、それを案内してください。私は再帰の知識が不足しています。