Bonjour tout le monde,
voilà j'ai un petit soucis sur les DTD^^
Mon problème est d'une simplicité enfantine : comment faire pour savoir qu'un fichier xml n'est pas conforme à une DTD ? Bizarre comme question, je sais^^ Je m'explique :
J'ai une grande quantité de fichier xml, et je me suis dit, faisons une DTD pour être sûr que leur structure soit correcte, ainsi je n'aurais pas de surprise.
J'ai donc écrit une DTD externe que je lie à un fichier xml, là pas de quoi de fouter un chat, mais quand je m'amuse à changer les balises de mon fichier xml, la page s'affiche normalement : ça n'a pas l'air de le troubler que les balises ne soit pas conforme à la DTD ^^;
un peu de code pour illustrer ça :
la DTD :
Mon souci c'est que lorsque je remplace la balise "commentaire" du noeud "attribut" par "commentaires" il ne bronche pas^^;
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
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 <?xml version="1.0" encoding="ISO-8859-1" ?> <!-- DTD définissant la structure des exercices --> <!ELEMENT exercice (entete, guide, solution)> <!ELEMENT entete (titre, langage, auteur, motcle, niveau)> <!ELEMENT titre (#PCDATA)> <!ELEMENT langage (#PCDATA)> <!ELEMENT auteur (#PCDATA)> <!ELEMENT motcle (#PCDATA)> <!ELEMENT niveau (#PCDATA)> <!ELEMENT guide (enonce, conseil)> <!ELEMENT enonce (#PCDATA)> <!ELEMENT conseil (#PCDATA)> <!ELEMENT solution (classe+)> <!ELEMENT classe (nom, heritage, interface, attribut*, methode*)> <!ELEMENT nom (#PCDATA)> <!ELEMENT heritage (#PCDATA)> <!ELEMENT interface (#PCDATA)> <!ELEMENT attribut (signature, commentaire)> <!ELEMENT signature (#PCDATA)> <!ELEMENT commentaire (br+)> <!ELEMENT br (#PCDATA)> <!ELEMENT methode (signature, corps, commentaire, aide)> <!ELEMENT signature (#PCDATA)> <!ELEMENT corps (br+)> <!ELEMENT commentaire (br+)> <!ELEMENT aide (br+)> <!ELEMENT br (#PCDATA)>
Pour finir ce long post (désolé^^), voilà comment j'appelle la DTD dans mon XML :
<!DOCTYPE exercice SYSTEM "exercice.dtd">
et une fois interprété cela donne ça : (que ce soit bon ou pas)
<!DOCTYPE exercice (View Source for full doctype...)>
Personnellement je suis un peu paumé, un p'tit coup de pousse ne serait pas de refus^^
Partager