Bonjour,

Je me permets de vous contacter par rapport à une transformation xslt que j'ai à effectuer.

Voila, c'est un peu complexe et je suis bloqué sur ce problème depuis quelques jours déjà. Ce que je souhaite c'est de récupérer dans les <tagPara2> la valeur de l'ID' du premier
<Para1> rencontrer (en remontant)

Exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<Para1 ID=0001>
<Para2 ID=0002>
<Para2 ID=0003>
<Para1 ID=0004>         ^
<Para2 ID=0005>         | on remonte jusqu'a trouver un para1 et on recupère la valeur de l'ID
<Para3 ID=0006>         | on part de para3,

XML de départ :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<Para1 ID=0001>
<Para2 ID=0002>
<Para2 ID=0003>
<Para1 ID=0004>
<Para2 ID=0005>
<Para3 ID=0006>

XML voulu :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<tagPara1> <id>0001</id> </tagPara1>
<tagPara2> <id>0002</id> <idPara1>0001</idPara1> </tagPara2>
<tagPara2> <id>0003</id> <idPara1>0001</idPara1> </tagPara2>
<tagPara1> <id>0004</id> </tagPara1>
<tagPara2> <id>0005</id> <idPara1>0004</idPara1> </tagPara2>
<tagPara3> <id>0006</id> <idPara1>0004</idPara1> </tagPara3>
J'ai essayer de résoudre ce problème avec des preceding-sibling:: et des for each, mais je n'arrive pas à me placer sur le noeud voulu.

Voila en espérant avoir été assez clair dans mon explication et en espérant une solution.

Je vous souhaite une bonne journée

Cordialement