Bonjour,

En faisant un petit test d'une transformation xsl, j'ai essayé de transformer tous les noeuds texte en <TEXTE>valeur</TEXTE>, pour que par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<Bonjour>Bébé</Bonjour>
<Transaction>Pouét</Transaction>
</Root>
Donne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<Bonjour><TEXT>Bébé</TEXT></Bonjour>
<Transaction><TEXT>Pouét<TEXT></Transaction>
</Root>
Donc j'ai écrit une petite feuille xsl :

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
18
19
20
21
22
23
<?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"
  encoding="UTF-8"
  indent="yes"/>
 
 <!-- On traite l'élément / attribut courant -->
 
 <xsl:template match="node() | @*">
	<xsl:copy>
		<xsl:apply-templates select="node() | @*"/>
	</xsl:copy>
</xsl:template>
 
<xsl:template match="text()">
	<xsl:element name="TEXT">
		<xsl:value-of select="."/>
	</xsl:element>
</xsl:template>
 
</xsl:stylesheet>
Mais ca me donne cela :

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
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<TEXT>
</TEXT>
<Bonjour>
<TEXT>Bébé</TEXT>
</Bonjour>
<TEXT>
</TEXT>
<Transaction>
<TEXT>Pouét</TEXT>
</Transaction>
<TEXT>
</TEXT>
</Root>
Il considère donc des noeuds texte en plus de ceux existant.

Est-ce normal?

Merci :-)