XSL: подсчет предыдущих уникальных братьев и сестер

Хорошо, я хочу применить таблицу стилей XSL, которая подсчитывает предыдущие уникальные узлы "ROLE" и выдает следующий выходной формат @name числа уникальных узлов ROLE перед текущими узлами. Я потратил несколько часов на то, что должно быть легко реализовать. Я пытался реализовать это несколькими способами, включая метод Мюнхена, если / с переменными (невозможно увеличить переменную), применять шаблоны к шаблонам и т. Д. Безрезультатно.

У меня есть следующий XML:

<ROLEACTIONINFO>
  <ROLE name="TESTER" /> 
  <ROLE name="PARENT1"/>
  <ROLE name="PARENT1"/>
  <ROLE name="PARENT1"/>
  <ROLE name="PARENT2"/>
  <ROLE name="PARENT2"/>
  <ROLE name="PARENT3"/>
  <ROLE name="PARENT4"/>
  <ROLE name="TESTROLE"/>
</ROLEACTIONINFO>

ПРИМЕР ВЫХОДА:

TESTER  1
PARENT1 2
PARENT1 2
PARENT1 2
PARENT2 3
PARENT2 3
PARENT3 4
PARENT4 5
TESTROLE  6

Получение количества уникальных предыдущих узлов - моя проблема. Любая помощь будет оценена

Ответы на вопрос(3)

Ваш ответ на вопрос