0

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

4

1 に答える 1

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(' ', ., ' ')" />

于 2012-10-08T17:32:18.483 に答える