1
xslt 1.0で作業中です 1から所定の長さまでnosを出力する必要があります。xsltで与えられた長さのnosを出力する方法を反復する方法は?
与えられた長さが5ならば、私は5回繰り返すことができ、1,2,3,4,5のようなnosを出力するループを繰り返す必要があります。 forループを使用しようとしましたが、各イテレータで印刷する値を減らすことができません。
上記のシナリオにお役立てください。
xslt 1.0で作業中です 1から所定の長さまでnosを出力する必要があります。xsltで与えられた長さのnosを出力する方法を反復する方法は?
与えられた長さが5ならば、私は5回繰り返すことができ、1,2,3,4,5のようなnosを出力するループを繰り返す必要があります。 forループを使用しようとしましたが、各イテレータで印刷する値を減らすことができません。
上記のシナリオにお役立てください。
この変換 inadvanvce ありがとう:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<xsl:call-template name="printNumbers">
<xsl:with-param name="pUpTo" select="5"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="printNumbers">
<xsl:param name="pUpTo"/>
<xsl:param name="pCurrent" select="1"/>
<xsl:if test="$pUpTo >= $pCurrent">
<xsl:value-of select="$pCurrent"/>
<xsl:text> </xsl:text>
<xsl:call-template name="printNumbers">
<xsl:with-param name="pUpTo" select="$pUpTo"/>
<xsl:with-param name="pCurrent" select="$pCurrent+1"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
(使用しない)任意のXML文書に適用され、指名手配、正しい結果生成:成功した巨大な生成のために
1 2 3 4 5
をアイテムの数、この質問への私の答えのようにDVCスタイルの再帰を使用してください:
Print numbers from one to one million
は、私はこれをやって任意の潜在的なエラーを回避するためにも、明示的な再帰を書面での支出も多くの時間を避けるために、FXSLライブラリの関数を使用してお勧めします。