Bonjour,

J'aurai besoin d'un avis sur ceci :

Soit un fichier xml de type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
count(preceding::C)
j'ai résolu le problème grâce à la commande ci-dessous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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.