Comment compter le nombre de la même année précédente frères et sœurs dans xsl

Je suis en utilisant xslt version 2, je suis en train de transformer un fichier xml en fo sortie, et je suis bloqué sur une problématique spécifique.

Voici à quoi ressemble mon entrée:

    <a1/>
    <a1/>
    <b/>
    <c/>
    <d/>
    <a2/>
    <b/>
    <c/>
    <a1/>
    <a1/>
    <a1/>
    <a1/>
    <b/>
    <c/>
    <d/>

Ces données, fonctionnellement parlant, contient une liste des "ensembles" définies par a1|a2,b?,c?,d?.

Mon problème est que je ne vois pas comment je peux compter le nombre de a1 balises pour un "set".

En effet, j'ai écrit mon xsl et je reçois une sortie comme ça:

<fo:table>
    <fo:row>
        <fo:cell>b: </fo:cell>
        <fo:cell>b value</fo:cell>
    </fo:row>
    <fo:row>
        <fo:cell>a1: </fo:cell>
        <fo:cell>number of a1 ???</fo:cell> <-- what I am trying to retrieve
    </fo:row>
    <fo:row>
        ...
    </fo:row>
    ...
</fo:table>

J'ai fait une demande-modèle a1+|a2 balises, et je ne fais rien si a1 balise a un frère qui est égale à a1.
Je pense qu'il doit y avoir un moyen de compter le tags avec le précédent frère (mais alors, comment s'assurer de ne compter que les correspondants?)

Tous les conseils seront appréciés!

Edit:
Sur l'exemple ci-dessus de l'entrée, le premier comte doit être de 2:

    <a1/>
    <a1/>
    <b/>
    <c/>
    <d/>

alors il devrait être de 4, et non pas à 6:

    <a1/>
    <a1/>
    <a1/>
    <a1/>
    <b/>
    <c/>
    <d/>

OriginalL'auteur skoll | 2013-07-13