1

この質問は 、子から祖父母内の親ノードをカウントするに似ています。XSL。しかし、それは少し違うので、新しいものを作成しました。だから、私はこのようなxmlを持っています(注!これはサンプルxmlなので、構造は異なる場合があります)。

<a>
  <b>
    <c>     
      <d>    
        text
      </d>    
    </c>    
    <b>    
      <c>    
        <d>
          text    
        </d>   
      </c>
    </b>        
  </b>    
</a>    

<c>そして、次のようにトップレベル内のノードをカウントする必要があります<b>:

<a>
  <b>
    <c>     
      <d>    
        text c number 1
      </d>    
    </c>    
    <b>    
      <c>    
        <d>
          text c number 2  
        </d>   
      </c>
    </b>        
  </b>    
</a>

等々。より深い構造にする場合でも、<c>トップ レベル内のすべてをカウントし<b>、その数を に配置する必要があり<d>ます。ノート!私は中<d>にいるので、そこから数える必要があります。

現在、私はこのコードを持っていますcount(ancestor::b[last()]/descendant::c/preceding-sibling::c)が、機能していません((

助けてください。ありがとうございました。

4

1 に答える 1

1

c/d のテンプレート内から、次のように記述します。

<xsl:number level="any" 
            count="c" 
            from="ancestor::b[parent::*[not(parent::*)]]"/>

2 番目のレベルの b 要素内の親 c 要素の番号を取得します。

于 2013-11-12T17:33:35.843 に答える