IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XSLT] transformation xsl avec un fichier xml en utf8


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 188
    Points : 106
    Points
    106
    Par défaut [XSLT] transformation xsl avec un fichier xml en utf8
    Bonjour,

    J'ai un petit soucis en appliquant une transformation xsl à un fichier XMLen UTF8, contenant des accents

    Le fichier XML généré en sortie, contient des caractères bizarres au lieu des accents, et en regardant avec un éditeur héxadécimal, je vois que ce n'est plus les mêmes codes héxa, et donc mon encodage UTF8 a été perdu.

    Je ne comprends pas pourquoi car dans ma feuille xslt, j'ai notemment :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?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"/>
    Qu'en pensez-vous?

    Merci :-)

  2. #2
    Rédacteur

    Avatar de Erwy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2003
    Messages
    4 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2003
    Messages : 4 967
    Points : 10 927
    Points
    10 927
    Par défaut
    Cela peut malheureusement dépendre du proc que tu utilises.
    Certains processeurs (par exemple msxml de windows) ne prennent pas en compte l'encoding de sortie demadé dans le xslt et il faut le passer dans des propriétés lors de l'appel de la transformations.

    Vérifie que tu ne ne trouve pas dans ce cas

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2005
    Messages
    188
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 188
    Points : 106
    Points
    106
    Par défaut re
    Re,

    Voilà comment finalement, j'ai résolu mon problème.

    J'ai implémenté une méthode spéciale pour pouvoir lire le contenu de mon fichier et le considérer comme de l'UTF8 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public static String readUTF8File(File thefile) throws IOException{
    		 String chaine = "";
    		 String ligne;
    		 FileInputStream fis = new FileInputStream(thefile);
    		 InputStreamReader isr = new InputStreamReader(fis,"UTF-8");
    		 BufferedReader br = new BufferedReader(isr);
    		 while((ligne = br.readLine())!=null){
    			 chaine = chaine + ligne + "\n";
    		 }
    		 fis.close();
    		 return chaine;
    	 }
    J'ai utilisé ce String là pour faire ma transformation xsl avec notemment, dans mon xsl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <xsl:output 
      method="xml"
      encoding="UTF-8"
      indent="yes"/>
    Pour écrire le résultat de ma transformation, j'utilise aussi un PrintWriter, en lui spécifiant d'utiliser de l'UTF8 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PrintWriter pw = new PrintWriter("C:/chemin_vers_xml/fichier.xml", "utf-8");
    pw.write(stringResult);
    pw.close();
    Et avec tout cela, pas besoin de lui spécifier que c'est de l'UTF8 dans des propriétés passées lors de l'appel de transformation.

    Voila :-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XSLT]Transformer XSL avec du XSL
    Par belibech dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 23/07/2007, 15h18
  2. [XSLT] probleme de parcourt deux fichiers xml dans xsl
    Par coucouA dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 23/07/2006, 20h32
  3. Réponses: 3
    Dernier message: 17/07/2006, 08h29
  4. [XSLT] Insertion du nom du fichier XML par transformation XSL
    Par stepd dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 11/07/2006, 11h40
  5. Transformer un très gros fichier XML avec XSL
    Par wozzz dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 30/05/2006, 10h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo