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 :

Balises HTML dans un fichier XML


Sujet :

XML/XSL et SOAP

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Balises HTML dans un fichier XML
    Bonjour,

    Je vais essayer d'expliquer le problème : j'ai un document XML dans lequel je dois mettre des balises HTML pour la mise en page. Parce qu'un élément n'aura pas le même type (plain, bold, italic) de tout son long. Exemple :
    <element>aaaaa<b>aaaaaaaa</b>aaaa</element> mais pourrait très bien etre aussi <element>aaaaaa<b>aaa</element><element>cccccc</b>cccc</element>

    Ou tout autre combinaison... (élément à l'intérieur des tags bold). De meme avec des liste.

    De ce que j'ai compris jusqu'à maintenant, XML est évidemment fait pour séparer la mise en page du contenu. Et, de plus, les balises ne doivent pas se chevaucher, comme sur mon 2ème exemple. Alors existe-il un moyen de faire ca quand même ?

    Vu que ceci est utilisé au sein d'un programme java, je pensais "coder" les balises b, i, li, li, etc différemment (avec des caractères spéciaux au lieu des > < ), puis ensuite d'appliquer une XSL pour avoir un HTML, et ensuite encore filtrer ce html pour récupérer les balises b,i, ... et remettre les > <


    Bastet

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 40
    Points : 48
    Points
    48
    Par défaut
    Une solution consiste à systématiquement fermer ta balise croisée et de la réouvrir après

    <element>aaaaaa<b>aaa</b></element><element><b>cccccc</b>cccc</element>

    De toute façon, les évolutions d'HTML (HTML4, XHTML) vont toutes dans ce sens.

    A+

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Ok. Merci.

    Mais... c'est la solution qu'on avait deja envisagé. Le problème s'est posé quand on a voulu écrire la DTD et qu'il faut alors envisager TOUS les cas possibles :
    - un élément peut contenir une partie bold
    - une partie bold peut contenir un élément (il y a pas mal de type d'éléments)
    - un italique...
    - une ligne de liste ...
    etc.

    Est-ce que c'est vraiment correcte de faire comme ca ?


    Bastet

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 40
    Points : 48
    Points
    48
    Par défaut
    un DTD sur koi ?

    Je résume : XML = Données et pas Présentation
    Bold = Présentation
    DTD => XML

    En gros, ce que je comprend pas c'est pourquoi tu veux faire apparaitre tes balises <b> dans ton DTD

    Eclaire-moi

    A+

  5. #5
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    >Je résume : XML = Données et pas Présentation
    >Bold = Présentation
    >DTD => XML

    Ca c'est bon. C'est bien ce que j'ai compris et l'origine de mon problème...

    >En gros, ce que je comprend pas c'est pourquoi tu veux faire apparaitre tes balises <b> dans ton DTD


    Parce que, jusqu'a maintenant (j'ai pas une graaande expérience dans le domaine), j'ai toujours vu des xsl qui appliquait UN sytle à tout un élément XML. et dans mon cas, j'ai besoin d'offrir la possibilité d'avoir plusieurs styles et imbrications possibles dans un élément.

    Difficile d'expliquer vraiment en détail, mais j'ai un fichier HTML avec deja des balises b,i,li.lu etc. L'utilisateur va pouvoir marquer des parties de texte comme éléments, qui seront stockés dans un fichier XML. Ce qui veut dire qu'un élément XML contiendra des tags de mise en page. Et que ces tags ont toutes les chances de se chevaucher avec les tags XML comme dans mon premier exemple.

    Pourquoi les inclures dans la DTD ? Bonne question... j'ai pensé que tous les tags qui seront présents dans le fichier XML doivent être définis dasn la DTD. Finallement, mon problème n'en est peut-être pas un ! Est-ce que le fait d'avoir, dans une partie PCDATA d'un élément XML, des balises HTML (dans n'importe quel ordre, il pourrait n'y avoir qu'un </b> par exemple), pose un pronlème ?

    Est-ce qu'en mettant simplement que c'est du CDATA, dans lequel je peux balancer n'importe quoi y compris des balises, ca ne résoudrait pas mon problème ?

    Bastet

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 40
    Points : 48
    Points
    48
    Par défaut
    Solution un peu brutale :

    Tu trompes ton Processeur XSLT :

    Tu lui fait croire (attention il faut bien bluffer ;-) ) que ta sortie, c'est du texte (via outPutFormat ou un truc comme ca)

    Ensuite tu remplace tes balises par des &lt; et &gt;

    Le fichier généré contiendra bien les < et >

  7. #7
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Ah ouais ! Cool ! C'est plus ou moins ce que je voulais faire, mais en inventant des "codes" de balises en faisant attention à ce que ca soit pas deja reconnu. Mais il "suffit" de les coder en html...

    >attention il faut bien bluffer

    Il y a quelque chose de spécial à faire ?


    Merci pour tes réponses rapides !!


    Bastet

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 40
    Points : 48
    Points
    48
    Par défaut
    Le bluffer :

    Dans l'entête de ton XSL :

    <?xml version="1.0"?>
    <xsl:stylesheet version="1.0" xmlnssl="http://www.w3.org/1999/XSL/Transform">


    <xsl:output method="text" indent="yes"/>


    A+

  9. #9
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci pour le bluf :-)

    A part ca, en y reflechissant, je suppose que les tags codés avec &lt; et &gt; vont ensuite rester comme ca dans le html, et apparaitre < > dans le browser... non ?

    Bon, je vais filtrer tout ca finallement. Au moins, avec les &lt; je suis sure que ca n'est pas utilisé pour autre chose.



    Bastet

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 40
    Points : 48
    Points
    48
    Par défaut
    Les tags apparaitront dans le fichier html uniquement si tu lui fais croire que la sortie est du texte.

    Sinon, les &lt; ... apparaitront sous cette forme dans la sortie

  11. #11
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Ok. Je verrais bien.

    Pour le moment je me débats avec les expressions régulières...


    Bastet

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 40
    Points : 48
    Points
    48
    Par défaut
    XPATH ?

  13. #13
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Non. java.util.regex.*;

    C'est pour rendre un fichier word-html plus... correcte... ;-)

Discussions similaires

  1. [XML] [Débutant]Comment ajouter des balise html dans un fichier XML
    Par pierrot10 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 18/09/2010, 14h36
  2. Insérer des balises html dans un fichier xml
    Par Abac_Angelique dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 29/04/2009, 17h41
  3. [XSLT] Utiliser des balises XHTML dans un fichier XML
    Par zoubidaman dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 20/03/2007, 14h30
  4. balise <br> dans un fichier XML
    Par cyraile dans le forum Dynamique
    Réponses: 4
    Dernier message: 15/01/2007, 14h39
  5. [XSL] Passer une variable a une balise HTML dans un fichier
    Par poseidon2 dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 09/03/2006, 16h39

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