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?!?
Comme un petit exemple est mieux qu'un long discour, voici deux petits exemples de ce que je voudrais réaliser :
voila pour mon fichier xml en entrée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
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.
Partager