2016-06-13 13 views
0

Ich bin in der Notwendigkeit erstellen einem Element fünf Mal in XSLT 1.0Wie ein Element mit Nullwert 10mal in xslt 1.0

so dass die Ausgabe

<element1></element1> 
<element1></element1> 
<element1></element1> 
<element1></element1> 
<element1></element1> 

würde jede Schleife Gibt es zu schaffen, wie für (int i = 1; i < = 5; i ++) in xslt. Viele Seiten vorschlagen Array aber in XSLT 2.0

+1

http://stackoverflow.com/questions/9076323/xslt-looping-from-1 -60 –

Antwort

1

Wenn Sie eine Variable haben, aber nicht allzu große Zahl, können Sie einfach Rekursion

<xsl:template name="doelements"> 
    <xsl:param name="howmany" select="0"/> 
    <xsl:if test="$howmany &gt; 0"> 
     <element1/> 
     <xsl:call-template name="doelements"> 
      <xsl:with-param name="howmany"> 
      <xsl:value-of select="$howmany - 1"/> 
      </xsl:with-param> 
     </xsl:call-template> 
    </xsl:if> 
</xsl:template> 

so verwenden, wo man 5 von ihnen wollen würden Sie nennen

 <xsl:call-template name="doelements"> 
      <xsl:with-param name="howmany"> 
      <xsl:value-of select="5"/> 
      </xsl:with-param> 
     </xsl:call-template> 

(nicht überprüfen, könnte sein, off-by-one, links als Übung für den Leser ;-)

Verwandte Themen