我需要在xslt 1.0中创建一个元素五次
以便输出
<element1></element1>
<element1></element1>
<element1></element1>
<element1></element1>
<element1></element1>
在xslt中是否存在类似for(int i = 1; i&lt; = 5; i ++)的循环。许多页面建议使用数组但是在xslt 2.0中
答案 0 :(得分:1)
如果您有一个变量但不是太大的数字,您可以使用简单的递归
<xsl:template name="doelements">
<xsl:param name="howmany" select="0"/>
<xsl:if test="$howmany > 0">
<element1/>
<xsl:call-template name="doelements">
<xsl:with-param name="howmany">
<xsl:value-of select="$howmany - 1"/>
</xsl:with-param>
</xsl:call-template>
</xsl:if>
</xsl:template>
所以如果您想要其中5个,您可以致电
<xsl:call-template name="doelements">
<xsl:with-param name="howmany">
<xsl:value-of select="5"/>
</xsl:with-param>
</xsl:call-template>
(没有检查,可能是一个接一个,留给读者的练习; - )