我有一个带参数的模板。我怎样才能打印 n 次?
n 是参数的值。我必须使用 XSLT 1.0...
有一种更简洁的方法:
<xsl:for-each select="//*[position() <= $count]">	</xsl:for-each>
如果您的源 XML 包含$count
元素,您的方法将起作用,但我不会说这是一个很好的方法。这更冗长,但我建议定义这样的模板:
<xsl:template name="RepeatValue">
<xsl:param name="times" />
<xsl:param name="value" />
<xsl:if test="$times > 0">
<xsl:value-of select="$value" />
<xsl:call-template name="RepeatValue">
<xsl:with-param name="times" select="$times - 1" />
<xsl:with-param name="value" select="$value" />
</xsl:call-template>
</xsl:if>
</xsl:template>
然后,您将使用以下方法调用此模板:
<xsl:call-template name="RepeatValue">
<xsl:with-param name="times" select="$count" />
<xsl:with-param name="value" select="'	'" />
</xsl:call-template>