J'ai pas idée à quoi tu joue... regardes les fonctions suivantes qui peuvent t'être utile: position(), last() et count().
Les additions avec variables en XSLT y'a pas 36 solutions, faut faire du récursif, c'est décrit et c'est à la portée de tout moteur de recherche qui se respecte.
Maintenant si tu veux obtenir 6 tu peux compter le nombre de 'niveau' ou c'est un hasard?