[XSLT] parsage et regroupement
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 :
Code:
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> |
et j'aimerai obtenir quelque chose comme ça :
Code:
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:
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 :)