我正在尝试在递归模板中执行递归模板,但我无法
<xsl:template match="feed">
<xsl:call-template name="recursiveLoop">
<!-- for loop pass in params -->
</xsl:call-template>
</xsl:template>
<xsl:template name="recursiveLoop">
<xsl:if test="$count < 12">
<!-- loop through 12 times -->
<!-- sort months and get data -->
<xsl:choose>
<xsl:when test="($realCurrentMonth + $count = $outboundMonthFromDoc) or ($tempMonthToDisplay = $outboundMonthFromDoc)">
<p><xsl:text>price is available</xsl:text></p>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="loopToFindCorrectMonth">
<xsl:with-param name="count2" select="0"/>
</xsl:call-template>
<xsl:template name="loopToFindCorrectMonth">
<xsl:param name="count2"/>
<xsl:if test="$count2 < 12">
<xsl:text>hello</xsl:text>
<xsl:call-template name="loopToFindCorrectMonth">
<xsl:with-param name="count2" select="$count2 + 1"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="recursiveLoop">
<!-- pass params in again -->
</xsl:call-template>
</xsl:if>
</xsl:template>
我的第一个循环是'recursiveLoop',我的第二个循环是'loopToFindCorrectMonth'。但是,第二个循环永远不会起作用。当我删除循环并用下面的简单输出语句替换它然后它工作。所以第二个循环有问题,我不知道它是什么。
<xsl:choose>
<xsl:when test="($realCurrentMonth + $count = $outboundMonthFromDoc) or ($tempMonthToDisplay = $outboundMonthFromDoc)">
<p><xsl:text>price is available</xsl:text></p>
</xsl:when>
<xsl:otherwise>
<p><xsl:text>Loop has been removed</xsl:text></p>
</xsl:otherwise>
</xsl:choose>