0

パラメータを持つテンプレートがあります。何かをn回印刷するにはどうすればよいですか?

n はパラメーターの値です。XSLT 1.0 を使用する必要があります...

これには、よりクリーンな方法があります。

<xsl:for-each select="//*[position() &lt;= $count]">&#x9;</xsl:for-each>
4

1 に答える 1

2

ソース XML に$count要素が含まれている場合、このアプローチは機能しますが、それはあまり良い方法とは言えません。これはかなり冗長ですが、次のようにテンプレートを定義することをお勧めします。

 <xsl:template name="RepeatValue">
    <xsl:param name="times" />
    <xsl:param name="value" />

    <xsl:if test="$times > 0">
        <xsl:value-of select="$value" />
        <xsl:call-template name="RepeatValue">
           <xsl:with-param name="times" select="$times - 1" />
           <xsl:with-param name="value" select="$value" />
        </xsl:call-template>
    </xsl:if>
</xsl:template>

次に、次を使用してこのテンプレートを呼び出します。

<xsl:call-template name="RepeatValue">
   <xsl:with-param name="times" select="$count" />
   <xsl:with-param name="value" select="'&#x9;'" />
</xsl:call-template> 
于 2013-02-06T10:03:40.233 に答える