xslt自匹配子节点但具有不同的html div id

时间:2014-02-12 10:24:11

标签: xslt html self xmlnode

我正在使用saxon将xml转换为html。

我有这样的xml:

<abc> 
  level-1 
   <abc> 
    level-2
      <abc>
         level-x 
      </abc> 
   </abc> 
 </abc>

在html中我想做这样的事情:

<div class="abc-1">
 level-1
    <div class="abc-2">
     level-2
       <div class="abc-3">
         level-3
        </div> 
    </div> 
</div>

现在在我的xslt中我想做类似下面的事情,所以我可以在子节点中使用相同的节点匹配来拥有不同的类名,但不确定在xslt中执行此操作的优秀方法是什么。

<xsl:template match = "abc">
  <div class="abc<x>">
     <xsl:apply-templates />
  </div>
</xsl:template>

1 个答案:

答案 0 :(得分:1)

<xsl:template match="abc">
  <div class="abc-{count(ancestor-or-self::abc)}">
     <xsl:apply-templates />
  </div>
</xsl:template>