有什么方法可以在输出中创建想要的空间,因为我一直在热编码,如果我需要空间<xsl:text> </xsl:text >
,请建议一个函数根据传递的参数生成空间,请建议
问问题
399 次
1 回答
0
您可能正在查看递归模板。像这样的东西:
<xsl:template name="WriteSpaces">
<xsl:param name="count" />
<xsl:if test="$count > 0">
<xsl:text> </xsl:text>
<xsl:call-template name="WriteSpaces">
<xsl:with-param name="count" select="$count - 1" />
</xsl:call-template>
</xsl:if>
</xsl:template>
请注意,调用它实际上会污染您的代码,甚至不仅仅是直接放置空格。对于静态内容,我可能只使用文本。对于动态内容(即,如果您愿意<xsl:text> </xsl:text><xsl:value-of select="." /><xsl:text> </xsl:text>
),我会使用 concat() 函数,因为它不限制参数的数量 - 因此您可以将上面的代码编写为<xsl:value-of select="concat(' ', ., ' ')" />
.
于 2012-10-08T17:32:18.483 回答