Bonjour,

Très basiquement, je souhaite prefixer toutes les balises de mon XML par une chaine de caractère

XML
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<AAA>
    <BBB>ZORRO</BBB>
    <CCC>SUPERMAN</CCC>
    <GGG>
        <BBB>DIEUDO</BBB>
    </GGG>
</AAA>
RESULTAT ATTENDU

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="UTF-8"?>
<pre_AAA>
	<pre_BBB>ZORRO</pre_BBB>
	<pre_CCC>SUPERMAN</pre_CCC>
	<pre_GGG>
		<pre_BBB>DIEUDO</pre_BBB>
	</pre_GGG>
</pre_AAA>

Mon Code XSL qui marche que pour un nom de balise :

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
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
	<xsl:template match="node()">
		<xsl:copy>
			<xsl:apply-templates select="node()"/>
		</xsl:copy>
	</xsl:template>
 
	<xsl:template match="CCC">
    <xsl:element name="{concat('pre_',name())}"><xsl:value-of select="CCC/."/>
                 <xsl:apply-templates select="node()"/> 
    </xsl:element>
    </xsl:template>
 
 
</xsl:stylesheet>
Je veux trouver un moyen de le faire pour toute les balises du XML.
Mais ce que j'ai pu essayer jusqu'à maintenant ne marche pas correctement
comme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
	<xsl:template match="*">
    <xsl:element name="{concat('pre_',name())}"><xsl:value-of select="."/>
                 <xsl:apply-templates select="node()"/> 
    </xsl:element>
    </xsl:template>
Merci d'avance

YB