[XSLT 2.0] Comptage de noeuds
Bonjour,
J'aurai besoin d'un avis sur ceci :
Soit un fichier xml de type :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
<A1>
<B1>
<C>
<C>
</B1>
<B1>
<C>
<C>
</B1>
</A1> |
Lorsque je suis sur un noeud <C> je souhaite savoir par combien de noeud <C> je suis passé , dans le noeud père courant.
Par exemple :
- lorsque je suis sur le deuxième noeud <C> du 1er noeud père <B1>, la valeur est 2.
- lorsque je suis sur le deuxième noeud <C> du 2eme noeud père <B1>, la valeur est 2. hors ici précisément je récupérais la valeur 4, car le comptage se faisait sur tous les noeuds pères <B1> précédents, ci-dessous la commande
j'ai résolu le problème grâce à la commande ci-dessous
Code:
1 2
|
count(preceding::C[ current()/ancestor::B1= ancestor::B1]) |
Le problème c'est que le temps de traitement est très long.
Y aurait-il une méthode plus efficace ?
D'avance merci.