Bonjour,

Je voulais savoir s'il est possible de changer l'encodage d'un fichier XML grâce à une transformation XSL.

Source XML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<?xml version="1.0" encoding="ISO-8859-1"?>
<RPT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Source.xsd">
Cible XML :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<?xml version="1.0" encoding="utf-8"?>
Transformation XSL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"	xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output method="xml" version="1.0" encoding="ISO-8859-1" indent="yes" />
	<xsl:template match="RPT">
A quel endroit mettre l'encodage de la cible ? Dans le <xsl:output /> ?

Eh oui c'est tout bête et ça marche !! (j'ai testé avec Eclipse en préparant ce post)

Donc pour info :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<?xml version="1.0" encoding="ISO-8859-1"?>
<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" />
Sinon, j'avais trouvé cette commande pour faire préalablement la conversion du texte :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
iconv -f ISO-8859-1 -t UTF-8 filename.txt
J'espère que ça pourra aider ;-)

Cdlt