XSLTを使用して別の形式に変更したいこのXMLドキュメントがあります。私が現在直面している問題は、親ではなくルートに対するタグの絶対位置を見つけることです。
たとえば、次の例を見てください。
<book>
<section>
<chapter>
</chapter>
</section>
</book>
<book>
<section>
<chapter>
</chapter>
</section>
</book> <book>
<section>
<chapter>
</chapter>
</section>
</book> <book>
<section>
<chapter>
</chapter>
</section>
</book>
必要な出力:
<book id=1>
<section id=1>
<chapter id=1>
</chapter>
</section>
</book>
<book id=2>
<section id=2>
<chapter id=2>
</chapter>
</section>
</book>
<book id=3>
<section id=3>
<chapter id=3>
</chapter>
</section>
</book>
<book id=4>
<section id=4>
<chapter id=4>
</chapter>
</section>
</book>
ブックタグのIDを取得するには、position()を使用することで簡単に実現できますが、セクションとチャプターに移動すると、作業が難しくなります。
この問題の解決策は、セクションとチャプターのカウンターとして機能するグローバル変数を作成することです。これは、これらのタグの1つがドキュメントで見つかるたびに増分しますが、XSLTの変数は定数のように動作します。
前もって感謝します、
fbr