[XPath] Problème de chemin pour selection de certains noeud
Bonjour a tous,
Voila j'ai un petit problème de XSL.
Je souhaite selectionner des noeuds xml suivant la valeur d'un attribut d'un de leur fils :arf: ?!?
Comme un petit exemple est mieux qu'un long discour, voici deux petits exemples de ce que je voudrais réaliser :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
<racine>
<formulaire>
<commun>
<class valeur="Toto">
</commun>
<toto>
<Id>1</Id>
<bureau>12</bureau>
<batiment>Bat B</batiment>
</toto>
<dependances>
<tutu>
<id>
<Nom>toutou</Nom>
<Toto valeur="2">Coucou</Toto>
...
</id>
<id>
<Nom>tonton</Nom>
<Toto valeur="1">Coucou</Toto>
...
</id>
<id>
<Nom>titi</Nom>
<Toto valeur="1">Coucou</Toto>
...
</id>
...
</tutu>
<tata>
<id>
<Lieu>Ici</lieu>
<Toto valeur="2">Coucou</Toto>
...
</id>
<id>
<Lieu>Labas</lieu>
<Toto valeur="1">Coucou</Toto>
...
</id>
<id>
<Lieu>ailleur</lieu>
<Toto valeur="1">Coucou</Toto>
...
</id>
...
</tata>
</dependances>
</formulaire>
<racine> |
voila pour mon fichier xml en entrée.
Je désire donc selectionner tous les noeuds "id" contenus dans "dependances" dont l'attribut "valeur" du noeud "Toto" est égal a la valeur du noeud Id
/racine/formulaire/dependance/*/id/Toto[@valeur=/racine/formulaire/Toto/Id]
Si ce n'était que cela se serais facile, seulement le nom des balises dont je cherche a tester la valeur n'est pas fixe ex :
je voudrais aussi pourvoir faire
/racine/formulaire/dependance/*/id/Pouet[@valeur=/racine/formulaire/Pouet/Id]
Je ne sais pas si j'ai très bien expliqué mon besoin. n'hésitez pas a me demander des précision.
Merci par avance pour votre aide.