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

XML/XSL et SOAP Discussion :

Du HTML dans du XML ?


Sujet :

XML/XSL et SOAP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut Du HTML dans du XML ?
    Bonjour,

    Je suis actuellement en train de participer à un projet de mise en place d'un progiciel pour une entreprise.

    Bref, les détails ne sont pas importants, mais à un moment donné, dans le système on a besoin d'envoyer des mails à certains utilisateurs.

    Il est possible de configurer ces mails et de faire une mise en page via un panneau d'outils, tout comme on peut le faire sur n'importe quel forum comme celui-ci. Couleur, police, indentation etc

    Ensuite, ce message peut être exporté au format XML, ce qui est quelque chose qui m'intéresse. J'ai donc exporté un message pour en voir le contenu XML.

    J'ai donc le corps du message qui est dans la balise <body>. C'est là qu'est mon problème. Dans cette balise body on a toutes les balises <span> qui permettent de mettre l'attribut "style" et de lui donner toutes les valeurs qu'on veut. Seulement, pour une balise <span> j'ai ça qui est présent dans le code "&lt;span style=&quotfont-family:Arial&quot&gt;

    On a donc le codage des chevrons "<" et ">" et des quotes. C'est assez horrible pour lire le code. Si j'enlève le codage et que je met les caractères eux-mêmes, le fichier n'est plus reconnu par mon système et donc n'est plus importable.

    Est ce que quelqu'un a une idée ? Je m'y connais pas énormément en XML...

    Merci beaucoup d'avance !

  2. #2
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    J'avoue ne pas bien comprendre ce que tu veux faire...

    Tu veux pouvoir éditer à la main le fichier XML généré c'est ça ?

    Si c'est le cas, ben soit tu te fais à l'idée que &lt;...&gt; signifie <...>, soit tu les transformes en <...> pour y voir plus clair quand tu modifies puis tu les retransformes en &lt;...&gt; quand tu as fini.

    Quoi qu'il en soit, si le logiciel que tu utilises en as besoin, il les faut.

    Remarques, tu peux aussi tester en mettant le contenu HTML entre <![CDATA[...]]>, auquel cas tu pourras mettre en clair les <...>. Après il faut voir si ton logiciel interprète correctement le CDATA.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut
    Merci pour la réponse.

    Oui, je m'y suis fait mais je voulais juste tenter de rendre ça plus lisible. Et puis je voulais comprendre la raison pour laquelle ça fait ça parce que c'est quand même étrange. Quand j'ouvre l'XML dans un navigateur ça s'est transformé en code HTML normal alors bon...je comprends pas trop le problème.

    En tout cas merci pour l'astuce CDATA, je vais tenter ça.

  4. #4
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    C'est pas vraiment étrange.

    Le HTML pur n'est pas compatible XML. Il est basé sur la norme SGML qui est plus permissive qu'XML (en gros) et permet par exemple de ne pas avoir de balise fermante associée à la balise ouvrante (exemple <br>), ce qui ne passe pas dans un XML.

    Bon, c'est un faux problème vu qu'en utilisant du XHTML ou en fermant correctement les balises ça passe. Mais dans ce cas il faudrait utiliser le namespace HTML pour avoir un XML correct et apparement ils ne veulent pas s'embêter avec ça (ce qui est compréhensible).
    En plus, bien souvent, une page HTML ne respecte pas à la lettre la norme W3C (et donc potentiellement la DTD HTML). C'est moche mais ça pourrait expliquer pourquoi ils ne veulent pas mettre le code HTML sous forme XML : leur document deviendrait invalide.

    A vrai dire, la plupart du temps quand du HTML est inclu dans un fichier XML il n'est pas mis au format XML mais entre balise CDATA ou bien avec les balises HTML sous forme d'entités (comme ici).

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 5
    Par défaut
    Ok, très bien. Bon ben j'ai appris quelque chose aujourd'hui.

    Et donc, pour faire du style en XML on fait comment ? Parce que là je m'éclate à insérer des balises span en HTML mais y a pas d'autre moyen ?

  6. #6
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Ben y'a pas de notion de "style" en XML à proprement parler.

    Le XML est juste un format permettant de conserver des données de façon "ordonnées". Vois ça comme une base de données en format textuel.

    Si tu veux faire du "style" à l'écran il faut en général passer par du HTML.
    Là si j'ai bien compris c'est de toute façon ton logiciel qui gère le style et il le fait à partir d'un code HTML "en dur". Du coup tu n'as pas d'autre choix que d'utiliser ce qu'il peut comprendre (ton logiciel).

    Ceci dit, pour répondre à ta question il existe un moyen de "faire du style" en XML mais ça ne t'aidera pas.
    Pour faire ça on utilise des feuilles de style (CSS ou XSL) permettant de décrire ce qu'il faut afficher quand on a telle ou telle balise. La plupart des navigateurs sont plus ou moins capables d'afficher un XML possédant une feuille de style (encore que j'ai jamais essayé avec du CSS). Mais en tout cas, le format de fichier XML ne possède aucune notion de style et, généralement, le contenu d'un fichier XML ne doit pas en avoir non plus : tout est géré par la feuille de style (CSS ou XSL) qui doit déterminer comment afficher le XML en fonction de la position des éléments et tout ça.

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

Discussions similaires

  1. Comment inserer du HTML dans du XML
    Par graphy dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 24/03/2006, 13h53
  2. [XML][XSL]probleme html dans balise xml
    Par chateau64 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 02/12/2005, 11h42
  3. Balise html dans fichier XML
    Par pierrox dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 19/09/2005, 09h20
  4. [XML] Incorporation de balises HTML dans fichier XML
    Par wazzzzza dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 26/07/2005, 14h17
  5. [XSL] Balise html dans un XML
    Par Ludo_xml dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 13/06/2005, 13h55

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