2014-02-12 17 views
1

저는 saxon을 사용하여 xml을 html로 변환 중입니다.xslt 자체 일치 자식 노드가 있지만 다른 HTML div id가 있습니다

이 같은 XML이 :

나는 이런 식으로 뭔가를하고 싶은 HTML에서
<abc> 
    level-1 
    <abc> 
    level-2 
     <abc> 
     level-x 
     </abc> 
    </abc> 
</abc> 

:

<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
<xsl:template match="abc"> 
    <div class="abc-{count(ancestor-or-self::abc)}"> 
    <xsl:apply-templates /> 
    </div> 
</xsl:template> 
+0

수정 오타 –

+0

@Joel의 덕분에, 나는 OP에서 한 것을 복사 한. %) – Tomalak