Fly*_*179 12
只需递归调用它; 如果n> 1,则输出一个选项卡,然后再次传入n-1调用相同的模板.
<xsl:template name="repeat">
<xsl:param name="output" />
<xsl:param name="count" />
<xsl:if test="$count > 0">
<xsl:value-of select="$output" />
<xsl:call-template name="repeat">
<xsl:with-param name="output" select="$output" />
<xsl:with-param name="count" select="$count - 1" />
</xsl:call-template>
</xsl:if>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
正如已经指出的那样,这个例子实际上会输出至少一个.根据我的经验,输出是空格,通常需要它.您可以以任何您认为合适的方式调整递归模板的原理.
Mic*_*Kay 11
在XSLT 2.0中:
<xsl:for-each select="1 to $count">	</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)
(遗憾的是,我怀疑如果您使用XSLT 2.0,则无需提出问题).
XSLT 1.0常用的另一种技术是黑客攻击:
<xsl:for-each select="//*[position() <= $count]">	</xsl:for-each>
Run Code Online (Sandbox Code Playgroud)
如果源文档中的元素数量大于要输出的制表符数量,则可以使用.
| 归档时间: |
|
| 查看次数: |
7707 次 |
| 最近记录: |