Bonjour à tous et désolé pour mon titre peu explicite
J'aimerai votre aide car je débute avec xsl et j'ai beaucoup de mal à faire ce que je veux
J'ai un fichier xml de cette forme :
et j'aimerai obtenir quelque chose comme ça :
Code xml : 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 <exist:result> <projs> <proj> <id-pf>id1</id-pf> <nom-pf>projet1</nom-pf> <prog>Programme</prog> </proj> <proj> <id-pf>id2</id-pf> <nom-pf>projet2</nom-pf> <prog>Programme</prog> </proj> </projs> </exist:result>
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <prog name="Programme"> <pf>id1</pf> <pf>id2</pf> </prog>
En sachant que dans le premier code le nom du programme est toujours le même et correspond à la valeur que je met dans l'attribut name
Voici mon code actuel :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <xsl:template match="/"> <prog> <xsl:attribute name="name"> <xsl:value-of select="distinct-values($instance/exist:result/projs/proj/prog)"/> </xsl:attribute> <xsl:for-each select="$instance/exist:result/projs/proj"/> <pf> <xsl:value-of select="id-pf"/> </pf> </prog> </xsl:template>
La première partie fonctionne (pour l'attribu name) mais la seconde non
Merci d'avance pour votre aide![]()
Partager