1

これに似た一連のノードの変換を作成しています。

  <xsl:template match="/" name="nav">
        <!--do stuff-->
      <xsl:if test="notEnd">
       <xsl:call-template name="nav"></xsl:call-template>
      </xsl:if>
  </xsl:template>

生成される結果はトップダウン (再帰的) です。

<!--do stuff 5-->
<!--do stuff 4-->
<!--do stuff 3-->
<!--do stuff 2-->
<!--do stuff 1-->

問題は、結果を生成した後です。正しい順序にする必要があります。

<!--do stuff 1-->
<!--do stuff 2-->
<!--do stuff 3-->
<!--do stuff 4-->
<!--do stuff 5-->

再帰後にこれに頼る方法についてのアイデアがありませんか? 別のテンプレートを使用して適用テンプレートを実装する必要がありますか、または順序を逆にする別の方法はありますか?

4

2 に答える 2

1

do の前に再帰呼び出しを追加するとどうなりますか?

  <xsl:template match="/" name="nav">
      <xsl:if test="notEnd">
       <xsl:call-template name="nav"></xsl:call-template>
      </xsl:if>
      <!--do stuff-->
  </xsl:template>

逆の順序を取得する必要があります。

于 2009-05-13T20:45:01.423 に答える
0

再帰を理解するには、まず再帰を理解する必要があります。

于 2009-05-25T05:09:44.680 に答える