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

API, COM et SDKs Delphi Discussion :

Processeur XSLT et UTF-8


Sujet :

API, COM et SDKs Delphi

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 488
    Points : 397
    Points
    397
    Par défaut Processeur XSLT et UTF-8
    Bonjour,

    J'utilise le processeur XSLT de Microsoft sous delphi avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                      XMLDoc := CoFreeThreadedDOMDocument40.Create;
                      XSLDoc := CoFreeThreadedDOMDocument40.Create;
                      XMLDoc.loadXml(XMLDocument.XML.Text);
                      XSLDoc.loadXml(XSLDocument.XML.Text);
                      Template := CoXSLTemplate40.Create;
                      Template.stylesheet := XSLDoc;
                      Processor := Template.createProcessor;
                      Processor.input := XMLDoc;
                      Processor.transform;
                      str.Text := Processor.output;
    Dans mon fichier XML j'ai bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:output method="html" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" encoding="UTF-8"/>
    qui devrait donner une sortie en UTF-8 mais elle est en fait en UTF-16.

    En cherchant sur le net j'ai trouvé ça :
    MSXML uses the encoding attribute if the output is written to a byte stream,
    but not if it is written to a character string or to a DOM: in those cases
    the encoding is predefined by the target object. In particular Microsoft
    character strings are always UTF-16.
    Soit en français (j'ai laissé la version originale au cas où ma traduction soit erronée) :
    MSXML utilise l'attribut encoding si la sortie est écrite dans un flot binaire, mais pas si elle est écrite dans une chaine ou un DOM : dans ces cas l'encodage est prédéfini dans l'objet cible. En particulier les chaînes de caractères Microsoft sont toujours en UTF-16.
    Quelqu'un sait comment je pourrais avoir une sortie correcte en UTF-8 ?

    Merci d'avance

  2. #2
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    258
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 258
    Points : 156
    Points
    156
    Par défaut
    N'y a-t-il pas d'autre moteur XSTL que celui de Microsoft? Car il est (ou était) assez buggé...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 488
    Points : 397
    Points
    397
    Par défaut
    Citation Envoyé par eponette
    N'y a-t-il pas d'autre moteur XSTL que celui de Microsoft? Car il est (ou était) assez buggé...
    Je n'en connais pas, mais si quelqu'un en connais un autre , si possible simple à utiliser depuis delphi, je suis preneur.

    Merci

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 488
    Points : 397
    Points
    397
    Par défaut Moteur XSLT Microsoft et Encodage de caractères
    Bonjour,

    Je voudrais utiliser le moteur XSLT d'Internet Explorer pour générer des pages HTML à partir de fichiers XML et d'une feuille de style XSL. Je me suis donc inspiré de ce tutorial : http://community.borland.com/article...,27106,00.html. Mais j'ai un problème d'encodage pour les caractères non ASCII standard qui sont en UTF-16, alors que les autres caractères restent codés sur 7 bits.

    Si vous avez des idées d'où cela peut venir, ou mieux si vous avez réussi à le faire marcher ça m'aiderait beaucoup.

Discussions similaires

  1. [XSLT] Processeur Xslt/xml simple
    Par Shikam dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 02/12/2010, 14h36
  2. [XSLT] encoding UTF-8 et accents
    Par Lolitaaa dans le forum XSL/XSLT/XPATH
    Réponses: 12
    Dernier message: 26/11/2008, 16h11
  3. Installer un processeur xslt 2.0
    Par Gregco dans le forum Apache
    Réponses: 1
    Dernier message: 30/10/2007, 11h18
  4. [XSL] Processeur XSLT PHP5 et EXSLT.org
    Par krapno dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 11/09/2007, 11h52
  5. [JDOM] [DTD] Specifier une dtd avec le processeur xslt de JDOM
    Par Bloodista dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 18/06/2007, 15h25

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