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 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>
et j'aimerai obtenir quelque chose comme ça :

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