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] Accent et encoding: entité externe


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Par défaut [XSLT] Accent et encoding: entité externe
    Salut tout le monde, j'aurais besoin d'aide svp

    Je suis actuellement en plein développement d'une application web, mais je suis confronté à un pb d'accent que je n'arrive pas à résoudre.

    Voilà un exemple, j'ai mon fichier xml contenant un accent "é" encoder par "é" et la feuille xsl associé. J'aimerais donc en sortie une page html contenant juste à l'affichage mon "é" sous cette forme ... cependant cela ne fonctionne pas, impossible de passer du "é" au "é"

    Merci de m'aider, je vous joins le code des deux fichiers

    Fichier xml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE concept SYSTEM "Template_concept.dtd">
    <?xml-stylesheet href="test.xsl" type="text/xsl"  ?>
    <concept titre="Test">
    	<ElementLogique name="1" >
    		&eacute;
    	</ElementLogique>
    </concept>
    et le fichier xsl suivant qui lui est lié
    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
    <xsl:stylesheet version = '1.0' 
         xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
    <xsl:output 
      method="html"
      encoding="UTF-8"
      doctype-public="-//W3C//DTD HTML 4.01//EN"
      doctype-system="http://www.w3.org/TR/html4/strict.dtd"
      indent="yes" />
     
    <xsl:template match="concept"> 
    	<html>
    		<body>
    			<p>
    				<xsl:copy-of select="//ElementLogique[@name='1']"/>			
    			</p>
     
    		</body>
    	</html>
    </xsl:template>
    </xsl:stylesheet>
    Encore merci de votre aide

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

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

    &eacute; n'est pas une entité XML, mais (X)HTML. C'est pour cela qu'elle n'est pas reconnue par le parseur (tu dois avoir une erreur lors de l'ouverture du fichier par le navigateur, d'ailleurs).

    Pour que cela fonctionne, il faut que lors du parsing cette entité soit reconnue et remplacée par le caractère correspondant. Cela ne peut se faire que par l'intermédiaire d'une DTD, en ajoutant cette ligne à Template_concept.dtd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!ENTITY eacute "&#233 ;">
    (Supprimer l'espace entre le 3 et le ;)
    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 averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 14
    Par défaut [Xml] Accent encoding
    Merci beaucoup effectivement s'ayé ca marche correctement!!

    J'ai dû cependant apporter une toute petit modification.
    Avec le code tel que je l'ai exprimé plus haut j'obtenais ceci à l'écran
    é
    à la place donc du "é"

    J'ai changé l'encoding de ma feuille xsl, en "iso-8859-1" et là ca marche !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <xsl:stylesheet version = '1.0' 
         xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
    <xsl:output 
      method="html"
      encoding="iso-8859-1"
      doctype-public="-//W3C//DTD HTML 4.01//EN"
      doctype-system="http://www.w3.org/TR/html4/strict.dtd"
      indent="yes" />

    Encore merci infiniment GrandFather, je pars de ce pas remplir ma DTD des caractères spéciaux dont j'ai besoin

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

Discussions similaires

  1. [DTD]Problème entités externes avec Firefox
    Par akhtira dans le forum Valider
    Réponses: 1
    Dernier message: 22/02/2008, 11h15
  2. [DTD] Entité externes
    Par malikoo dans le forum Valider
    Réponses: 2
    Dernier message: 02/07/2007, 17h14
  3. [XML] Problème d'entité externe dans mon XSLT
    Par fragmonster dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 13/04/2007, 14h55
  4. Accents mal encodes apres sauvegarde sous forme de fichier
    Par KillMePlease dans le forum Langage
    Réponses: 5
    Dernier message: 03/11/2006, 15h01
  5. hibernate.cfg.xml Entité externe introuvable
    Par allstar dans le forum Hibernate
    Réponses: 1
    Dernier message: 07/08/2006, 12h18

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