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 :

[XSL] Problème d'accents avec l'objet Transformer


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 20
    Points : 11
    Points
    11
    Par défaut [XSL] Problème d'accents avec l'objet Transformer
    Bonjour,

    J'ai trouvé dans ce forum bon nombre de sujets relatifs aux accents dans les transformations xsl mais je ne suis pas arrivée à résoudre mon problème malgré tout.

    Le fait est que j'extrais un texte de ma BDD et lorsque je veux le transformer, les accents ne passent pas (exemple : "è" => "è").

    Voici mon code, "texte" contient le texte issu de ma BDD. (en l'occurance "Cet après-midi :")

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
     
    String resultat =  new String();
     
    TransformerFactory transformerFactory = TransformerFactory.newInstance();
     
    String pathXSL="\test.xsl";
     
    StreamSource sourceXSL = null;
     
    sourceXSL = new StreamSource(pathXSL);
     
    Transformer transformer;
                try {
                    transformer = transformerFactory.newTransformer(sourceXSL);
     
                    ByteArrayInputStream sourceStream =null;
                    sourceStream = new ByteArrayInputStream(texte.getBytes());
     
                    StreamSource sourceXML = new StreamSource(sourceStream);
                    StringWriter writer = new StringWriter();
                    StreamResult result = new StreamResult(writer);
                    transformer.setOutputProperty(OutputKeys.INDENT, "yes");
                    transformer.setOutputProperty(OutputKeys.ENCODING, "ISO-8859-1");
                    transformer.setOutputProperty(OutputKeys.METHOD, "html");
                    transformer.transform(sourceXML,result);
     
                    resultat=writer.toString();
     
                    }catch (TransformerConfigurationException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    } catch (TransformerException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
     
            return resultat;
    "resultat" contient alors "Cet après-midi :"


    Et voici l'entete de mon fichier xsl :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
       <xsl:output method="xml" encoding="ISO-8859-1" omit-xml-declaration="no" indent="yes"/>
    Merci d'avance pour votre aide.

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    La transformation des caractères non ASCII en entités HTML provient de la présence de cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    transformer.setOutputProperty(OutputKeys.METHOD, "html");
    Elle est d'ailleurs contradictoire avec la valeur de l'attribut "method" du xsl:output... Si tu veux éviter cet "échappement", définis XML comme méthode de sortie et non pas HTML.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre à l'essai
    Inscrit en
    Octobre 2005
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    Effectivement, j'aurais du le voir ! Merci !

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

Discussions similaires

  1. [AJAX] Accents avec IE
    Par Darkenshin dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 18/01/2007, 17h25
  2. Problème d'accent avec formulaire cgi
    Par vodevil dans le forum Web
    Réponses: 3
    Dernier message: 15/04/2006, 11h48
  3. Problème d'accent avec fgets
    Par d.w.d dans le forum Langage
    Réponses: 2
    Dernier message: 31/03/2006, 07h37
  4. [utf-8] problème d'accents avec gtk+
    Par over_score dans le forum Général Python
    Réponses: 3
    Dernier message: 14/12/2005, 01h43
  5. Problèmes d'accent avec une connexion ODBC et ADO
    Par michael.jacques dans le forum Bases de données
    Réponses: 3
    Dernier message: 10/03/2005, 15h36

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