Bonjour,

Pour séparer les nœuds par ":" j'utilise la fonction concat

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
Fichier XML
<racine num="0">
	<noeud num="1">
		<noeud num="3">
			<noeud num="5"/>
			<noeud num="6"/>
		</noeud>
		<noeud num="4">
			<noeud num="7"/>
		</noeud>
	</noeud>
	<noeud num="2"/>
</racine>
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
 
Fichier xsl
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="xml" indent="yes" />
 
	<xsl:template match="/">
		<html>
			<body>
				<xsl:for-each select="//node()">
					<xsl:value-of select="concat(':',@num)"/>
				</xsl:for-each>
			</body>
		</html>
	</xsl:template>
</xsl:stylesheet>
J'obtiens le résultat suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<html>
   <body>0 ::  :: 1 ::  :: 3 ::  :: 5 ::  :: 6 ::  ::  :: 4 ::  :: 7 ::  ::  ::  :: 2 ::  :: </body>
</html>
problème: il me duplique le séparateur plusieurs fois.

résultat attendu:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
<html>
   <body>0 :: 1 :: 3 :: 5 :: 6 :: 4 :: 7 :: 2 :: </body>
</html>
Merci de votre aide.
Bonne journée