Рассмотрим это условие, которое существует в шаблоне, который вызывается рекурсивно:
<xsl:if test="$i <= $count">
Я использую процессор XSLT 2.0 (Saxon-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>
Спасибо.