0
考虑这个条件,即存在于模板被递归调用:条件适用于XSLT 1.0样式,但不能用于XSLT 2.0样式表
<xsl:if test="$i <= $count">
我使用XSLT 2.0处理器(撒克逊-B 9.1。 0.6)。该条件似乎只在运行XSLT 1.0样式表时才起作用。当样式表版本设置为2.0(它应该是)时,它停止工作。
任何想法为什么?
这里的整个事情:
<xsl:template name="for.loop">
<xsl:param name="i" />
<xsl:param name="count" />
<xsl:if test="$i <= $count">
...
</xsl:if>
<!-- Repeat the loop by recursion -->
<xsl:if test="$i <= $count">
<xsl:call-template name="for.loop">
<xsl:with-param name="i">
<xsl:value-of select="$i + 1" />
</xsl:with-param>
<xsl:with-param name="count">
<xsl:value-of select="$count" />
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>
感谢。
修复它。我在第二次测试中使用了数字($ count)。奇怪为什么只有一个测试需要改变。 –
Jonathan
2009-05-05 16:27:12