XSL: Contando irmãos únicos anteriores

OK, quero aplicar uma folha de estilos XSL que conte os nós "ROLE" exclusivos anteriores e cuspa o seguinte formato de saída de @name, o número de nós ROLE exclusivos antes dos nós atuais. Eu perdi várias horas no que deveria ser uma coisa fácil de implementar. Eu tentei implementar isso de várias maneiras, incluindo o método Muenchian, se / com variáveis (não é possível incrementar uma variável), aplicando modelos a modelos etc sem sucess

Tenho o seguinte 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>

XEMPLO DE SAÍDA:

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

Obter o número de nós anteriores anteriores é o meu problema. Qualquer ajuda seria apreciad