XSL: Contando hermanos únicos anteriores

OK, quiero aplicar una hoja de estilo XSL que cuente los nodos únicos "ROLE" anteriores y escupe el siguiente formato de salida de @name el número de nodos ROLE únicos antes de los nodos actuales. He perdido varias horas en lo que debería ser algo fácil de implementar. He intentado implementar esto de varias maneras, incluido el Método Muenchian, si / con variables (No se puede incrementar una variable), aplicando plantillas a plantillas, etc., en vano.

Tengo el siguiente 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>

EJEMPLO DE SALIDA:

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

Obtener el recuento de los nodos precedentes únicos es mi problema. Cualquier ayuda sería apreciad

Respuestas a la pregunta(6)

Su respuesta a la pregunta