出力に必要なスペースを作成する関数を作成する方法はありません。スペースが必要な場合はホットコーディングを続けていた<xsl:text> </xsl:text >
ので、渡されたパラメーターに基づいてスペースを生成する関数を親切に提案してください。アドバイスしてください
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 に答える