У меня есть этот XML-документ, в котором я хочу изменить с помощью XSLT другой формат. Проблема, с которой я сейчас сталкиваюсь - это найти абсолютную позицию тега относительно корня, а не родителя.
Например, возьмем следующий пример:
<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>
Получить идентификатор для тега книги можно легко, используя position (), но как только мы перейдем к разделу и главе, все станет сложнее.
Решением этой проблемы будет создание глобальных переменных, которые будут работать как счетчики для раздела и главы, которые будут увеличиваться каждый раз, когда один из этих тегов будет найден в документе, но переменные в XSLT ведут себя как постоянные.
заранее спасибо,
FBR