0

我有x一个数字变量。我有一条线。( "<name>James</name>") 我需要打印这句话的x次数。我可以用简单的方法吗?不复杂?

4

3 回答 3

2

如果您使用的是 XSLT 2.0,那么您可以这样做...

<xsl:for-each select="for $i in 1 to $x return $i">
 <name>James</name>
</xsl:for-each>
于 2012-07-11T15:43:14.533 回答
1

以下内容未经测试...

<xsl:call-template name="show">
  <xsl:with-param name="text">&lt;name&gt;James&lt;/name&gt;</xsl:with-param>
  <xsl:with-param name="count">50</xsl:with-param>
</xsl:call-template>

<xsl:template name="show">
  <xsl:param name="text"/>
  <xsl:param name="count"/>
  <xsl:value-of select="$text"/>
  <xsl:if test="number($count)>0">
    <xsl:call-template name="show">
      <xsl:with-param name="text" select="$text"/>
      <xsl:with-param name="count" select="number($count)-1"/>
    </xsl:call-template>
  </xsl:if>
</xsl:template>

更新为具有<name></name>

这是上述工作的 XmlPlayground

于 2012-07-11T15:33:59.123 回答
0

您可以在样式表的某处添加以下内容:

<mydata>
    <x/><x/><x/><x/> <!-- to print four times -->
</mydata>

然后

<xsl:for-each select="document()//mydata/x">
    <name>James</name>
</xsl:for-each>

这利用了在 XSLT 程序中包含您自己的数据并通过document函数访问它的能力(没有参数表示样式表本身)。

于 2012-07-13T03:59:23.727 回答