Bonjour,
J'essaie de valider un fichier XML grace à la commande xmllint (je suis sous Unix). J'ai 2 fichiers : un avec des données, et la DTD associée :
Fichier XML :
et voici la DTD :
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 <?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE OBJETS SYSTEM "obj.dtd"> <OBJETS> <SELECT> <CLASS ACRONYM ="class1"> <PRIMITIVE>A</PRIMITIVE> <FOID>AGEN</FOID> <ATTRIBUT ACRONYM = "attribut1">1</ATTRIBUT> <ATTRIBUT ACRONYM = "attribut2">CA</ATTRIBUT> </CLASS> <CLASS ACRONYM = "class2"> <PRIMITIVE>PA</PRIMITIVE> <FOID>FIDN</FOID> <ATTRIBUT ACRONYM = "attribut1">1|2</ATTRIBUT> <ATTRIBUT ACRONYM = "attribut2">3</ATTRIBUT> <EXCEPT_ATTRIBUT ACRONYM = "attributexcepte"/> </CLASS> </SELECT> <REGLE>dessin</REGLE> </OBJETS>
L'erreur vient du fait que je n'ai pas déclarer l'élément ACRONYM ds la DTD (enfin d'après les erreurs sorties par l'exécution de la commande). Mais je ne vois pas comment le déclarer puisque ce n'est pas un élément qui doit apparaitre dans la DTD normalement ... Mais j'ai peut etre fait des erreurs ....
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <!ELEMENT OBJETS (SELECT+, REGLE)> <!ELEMENT SELECT (CLASS+)> <!ELEMENT CLASS (PRIMITIVE, FOID, ATTRIBUT+, EXCEPT_ATTRIBUT*)> <!ELEMENT PRIMITIVE (#PCDATA)> <!ELEMENT FOID (#PCDATA)> <!ELEMENT ATTRIBUT (#PCDATA)> <!ELEMENT EXCEPT_ATTRIBUT (#PCDATA)> <!ELEMENT REGLE (#PCDATA)>
Merci d'avance ...
Partager