Bonjour à tous,

J'ai un problème assez simple que je n'arrive pas à résoudre.

J'aimerais changer le formatting d'un fichier xml de la manière suivante.

Mon fichier d'entrée xml serait par example :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<A>
      <B attribute1="bla1" attribute2="bla2"/>
      <C attribute3="bla3" attrribute3="bla4"/>
</A>
Et j aimerais le transformer en

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
<A>
      <B 
             attribute1="bla1" 
             attribute2="bla2"
       />
      <C 
             attribute3="bla3" 
             attrribute3="bla4"
       />
</A>
en utilisant the xsl.

J arrive a un result plus ou moins proche en utilisant le code suivant :

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
 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
 
<xsl:output method="xml" indent="yes" encoding="UTF-8"/>
 
<xsl:template match="@*|node()">
<xsl:copy>
    <xsl:apply-templates/>
	<xsl:for-each select="@*">
    	<xsl:value-of select="name()"/><xsl:text> = </xsl:text><xsl:value-of select="."/><xsl:text>
</xsl:text>
    </xsl:for-each>
</xsl:copy>
</xsl:template>
 
</xsl:stylesheet>

Mais l indentation et les espace ne donne pas bien

Je crois que je ne m'y prend pas de la bonne manière. si quelqu'un a un conseil c est volontier

Un grand merci d'avance
loic