Bonjour,
Très basiquement, je souhaite prefixer toutes les balises de mon XML par une chaine de caractère
XML
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"?> <AAA> <BBB>ZORRO</BBB> <CCC>SUPERMAN</CCC> <GGG> <BBB>DIEUDO</BBB> </GGG> </AAA>
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 :
Je veux trouver un moyen de le faire pour toute les balises du XML.
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>
Mais ce que j'ai pu essayer jusqu'à maintenant ne marche pas correctement
comme
Merci d'avance
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>
YB
Partager