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

Valider XML Discussion :

écrire une DTD pour un article


Sujet :

Valider XML

  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2003
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 2
    Points : 2
    Points
    2
    Par défaut écrire une DTD pour un article
    Bonjour,

    J'ai une base d'articles (principalement en HTML et Word) qui contiennent différement élements (un titre, un résumé, un corps de texte, des documents liés, etc.).

    A partir de cela, je dois écrire la DTD correspondante.
    Ca ne m'avait pas l'air trop difficile au 1er abord ; cependant mon problème se situe dans le contenu des textes (corps), pour les 4 cas suivants :
    - il y a des liens hypertextes sur certains mots.
    - il y a des mots importants en gras et d'autres en italiques au milieu des phrases.
    - il y a des listes (avec puce, numérotation ou indentation). Le contenu de ces listes peut lui-même être en parti en gras ou italique.
    - le tout est structuré avec des titres (4 "niveaux de profondeur").

    Donc j'essaie d'imaginer un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ...
    <corps>
       <titre1 titre="titre de premier niveau">
          ici une partie du pragraphe
          <important>avec des mots qui étaient en gras</important>
          <titre2 titre="titre de deuxieme niveau">
             ici le texte
             <lien destination="site.com">avec des mots liés</lien>
          </titre2>
       </titre1>
    </corps>
    ...
    Mais je ne suis pas convaincu que ca soit la meilleure solution (certainement parce que je reste trop lié au modèle HTML...) et je ne vois pas comment traiter le cas des listes.


    Avez-vous une idée ?
    Cela me semblait pourtant assez bateau comme cas mais je n'ai pas trouvé d'exemple sur Internet.


    Merci d'avance,

    Vinent

  2. #2
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    et bien tu as tout dit!
    dans un corp, il y a ...
    donc ta DTD ce sera un truc du genre :
    <!ELEMENT corp(normal*,hyperTxt*,important*,listes*,titre1*)>
    <!ELEMENT titre1(normal*,hyperTxt*,important*,listes*,titre2*)>
    <!ELEMENT titre2(normal*,hyperTxt*,important*,listes*,titre3*)>
    <!ELEMENT titre3(normal*,hyperTxt*,important*,listes*,titre4*)>
    <!ELEMENT titre4(hyperTxt*,important*,listes*)>
    ...
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  3. #3
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

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

    plutôt que réinventer la roue, tu peux utiliser (ou t'inspirer de) la DTD de Docbook simplifié, que tu peux trouver ici :
    http://www.docbook.org/specs/wd-docb...ple-1.1b2.html

    Sinon, en me basant sur ton exemple, je proposerais ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <!ENTITY % texte "#PCDATA|important|liste|lien">
    <!ELEMENT corps ((%texte;)*,titre1*)>
    <!ELEMENT titre1 ((%texte;)*,titre2*)>
    <!ELEMENT titre2 ((%texte;)*,titre3*)>
    <!ELEMENT titre3 ((%texte;)*,titre4*)>
    <!ELEMENT titre4 ((%texte;)*)>
    <!ELEMENT liste (item+)>
    <!ELEMENT item ((%texte;)*)>
    <!ELEMENT lien (#PCDATA)>
    <!ELEMENT important (#PCDATA)>
    >>viena, je crois que tu as confondu | et ,
    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

  4. #4
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    vi désolée, j'ai fait ca sans verification...
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Pour toutes technos xml, je te conseille de visiter ce site qui est tres bien conçu:
    http://www.w3schools.com

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

Discussions similaires

  1. Bonne maniére d'écrire une condition pour une boucle.
    Par erik2003 dans le forum Débuter
    Réponses: 2
    Dernier message: 07/07/2014, 00h15
  2. vba écrire une cellule pour chaque ligne écrite
    Par Chris171717 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 14/03/2013, 11h53
  3. [MySQL] compter le nombre de commentaire d'une table pour l'article appele dans un autre table
    Par gael-abdelhadi dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 22/03/2011, 09h24
  4. Réponses: 0
    Dernier message: 27/09/2008, 13h01

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