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

HTML Discussion :

Insérer un code xml dans une page html sans interprétation


Sujet :

HTML

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Insérer un code xml dans une page html sans interprétation
    Bonjour !

    Je travaille sur un site de mise en ligne de transcription et d'images numérisées en vis à vis. L'encodage de la transcription est fait à l'origine en XML/TEI. J'aimerais pouvoir insérer le code source de ce fichier xml dans ma page web mais bien sûr html interprête ou n'affiche pas les élements/balises xml. Comment faire pour qu'il ne les interprête pas ?

    Merci bien pour votre aide

    Solenne

  2. #2
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonjour

    Il faut remplacer les caractères < et > par les entités &lt; et &gt;

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    oui, j'ai vu. mais j'ai beaucoup de fichiers tei et j'affiche aussi une transcription 'propre' transformée avec une XSLT. Serait il possible d'effectuer cette transformation (les < et > par &lt; et &gt en XSLT ? Si oui, comment ? Parce que je ne vois pas.
    Je ne peux en effet pas faire chercher/remplacer pour tous mes fichiers, les copier/coller ensuite dans un document html... il me faudrait quelque chose de plus automatique.

    Merci

  4. #4
    Membre émérite
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Points : 2 411
    Points
    2 411
    Par défaut
    Salut,

    On peut ajouter le document XML dans le DOM comme ceci
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    elt.appendChild(document.createTextNode(xml));
    elt represente le conteneur et xml les données XML.

    Code html : 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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    	<head>
    		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    		<title>Test</title>
    		<script type="text/javascript">//<![CDATA[
                            var
                                    xml ='<?xml version="1.0" encoding="utf-8"?>\n';
                                    xml+='<biblio>\n';
                                    xml+='  <livre>\n';
                                    xml+='    <titre>Les Misérables</titre>\n';
                                    xml+='    <auteur>Victor Hugo</auteur>\n';
                                    xml+='  </livre>\n';
                                    xml+='</biblio>';
     
                            function init_DOM(){
                                    var elt=elt=document.getElementById('xml');
     
                                    // Vide le contenu de l'élément
                                    while(elt.hasChildNodes())elt.removeChild(elt.lastChild);
     
                                    // Ajoute le texte non intérprétable contenu dans la variable xml
                                    elt.appendChild(document.createTextNode(xml));
                            }
     
                            window.onload=init_DOM;
                    //]]>
                    </script>
    	</head>
     
    	<body>
    		<pre id="xml"></pre>
    	</body>
    </html>

    Edit : Si tu veux passer par innerHTML...
    La fonction permettant la convertion
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function htmlspecialchars(s){
    	return (typeof s=='string')?s.replace(/\</g,'&lt;').replace(/\>/g,'&gt;'):'';
    }

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    J'ai beaucoup de fichier à modifier ainsi. Y a t'il un moyen de rendre le javascript automatique ? C'est à dire ne pas mettre tout le contenu xml dans le javascript ?

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    en fait, il y a une XSLT qui circule sur le net qui sert justement à afficher le code source de fichiers XML dans une page HTML. Son nom : xmlverbatim !
    C'est parfait !

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

Discussions similaires

  1. [phpBB] Insérer du code php dans une page html
    Par hash95 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 26/02/2009, 15h11
  2. [XHTML] Insérer du code xml dans une page xhtml
    Par le-baron dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 09/07/2008, 17h00
  3. Afficher du XML dans une page HTML
    Par MrMaze dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/12/2005, 16h50
  4. Inclure code XML dans une page HTML ?
    Par kpatoulu dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 24/10/2005, 14h59
  5. Insérer du XML dans une page HTML
    Par Shaman LizardKing dans le forum XML/XSL et SOAP
    Réponses: 14
    Dernier message: 04/05/2005, 07h27

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