如何通过使用XSLT传递参数来添加空格通用方式

时间:2012-10-08 15:24:04

标签: xslt xslt-1.0

是在输出中创建函数创建所需空间的任何方法,因为我保持热编码是我需要的空间<xsl:text>&#10;</xsl:text >,请建议一个函数根据传递的参数生成空格,请建议< / p>

1 个答案:

答案 0 :(得分:0)

您可能正在查看递归模板。像这样:

<xsl:template name="WriteSpaces">
   <xsl:param name="count" />
   <xsl:if test="$count &gt; 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(' ', ., ' ')" />那样编码。