代码之家  ›  专栏  ›  技术社区  ›  Andrew

XSLT通过应用模板或调用模板反转模板顺序?

  •  1
  • Andrew  · 技术社区  · 17 年前

    我正在为一组节点编写一个转换,与此类似。

      <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-->
    

    我不知道在递归之后如何使用它?我应该使用其他模板并实现应用模板,还是有其他方法可以颠倒顺序?

    2 回复  |  直到 17 年前
        1
  •  1
  •   pgb    17 年前

    如果在执行do操作之前添加递归调用会怎么样?

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

        2
  •  0
  •   Con Con    17 年前

    推荐文章