KioskeaKioskeaCommentCaMarcheInscrivez-vous, c'est gratuit !
Mardi 13 mai 2008 - 02:03:38

[XML : DTD] Problème de validation avec IE.

Rechercher : dans
[XML : DTD] Problème de validation avec IE.
par GWE
 Fil de Discussions
Statut : Non résolu
mardi 10 octobre 2006 à 11:32:06
Voici un document XML qui me semble valide.

<?xml version="1.0" encoding="windows-1250"?>

<!DOCTYPE videotheque [
<!ELEMENT videotheque (film+)>
<!ELEMENT film (titre, annee, acteur+, duree?)>
<!ATTLIST film num ID #REQUIRED>
<!ATTLIST film genre (comédie|fantastique|horreur|thriller) "comédie">
<!ELEMENT titre (#PCDATA)>
<!ELEMENT annee (#PCDATA)>
<!ELEMENT acteur (#PCDATA)>
<!ELEMENT duree (#PCDATA)>
<!ATTLIST duree type CDATA #FIXED "min">
]>

<videotheque>
<film num="f01" genre="comédie">
<titre>La folie des grandeurs</titre>
<annee>1965</annee>
<acteur>Louis Defunes</acteur>
<acteur>Truc</acteur>
<acteur>Chose</acteur>
<duree type="min">80</duree>
</film>

<film num="f02" genre="fantastique">
<titre>Armageddon</titre>
<annee>1998</annee>
<acteur>Bruce Willis</acteur>
<duree type="min">100</duree>
</film>

</videotheque>



Effectivement, quand je l'ouvre avec Internet Explorer, ça ne pose aucun problème.

Cependant, j'ai l'impression que ma DTD ne sert à rien. Si, par exemple, je modifie les valeurs des balises de l'élément <film>, le parseur de Internet Explorer ne m'indique pas d'erreur. Même remarque pour les attributs de type REQUIRED. Si je les oublie dans mon document XML, Internet Explorer ne m'indique aucune erreur.

Dans l'exemple suivant, j'ai rajouté un 3eme film qui ne respecte pas la DTD, mais Internet Explorer ne m'indique pas que le document n'est pas valide.


<?xml version="1.0" encoding="windows-1250"?>

<!DOCTYPE videotheque [
<!ELEMENT videotheque (film+)>
<!ELEMENT film (titre, annee, acteur+, duree?)>
<!ATTLIST film num ID #REQUIRED>
<!ATTLIST film genre (comédie|fantastique|horreur|thriller) "comédie">
<!ELEMENT titre (#PCDATA)>
<!ELEMENT annee (#PCDATA)>
<!ELEMENT acteur (#PCDATA)>
<!ELEMENT duree (#PCDATA)>
<!ATTLIST duree type CDATA #FIXED "min">
]>


<videotheque>
<film genre="fantastique">
<titreeeeee>ceci est un titre bidon</titreeeeee>
</film>
<film num="f01" genre="comédie">
<titre>La folie des grandeurs</titre>
<annee>1965</annee>
<acteur>Louis Defunes</acteur>
<acteur>Truc</acteur>
<acteur>Chose</acteur>
<duree type="min">80</duree>
</film>

<film num="f02" genre="fantastique">
<titre>Armageddon</titre>
<annee>1998</annee>
<acteur>Bruce Willis</acteur>
<duree type="min">100</duree>
</film>

</videotheque>



Mes questions :
1. Est-ce normal qu'Internet Explorer et Mozilla ne détectent pas ces erreurs?
2. Ai-je écrit correctement ma DTD ?
3. Serait-ce les parseurs de Internet Explorer et de Mozilla qui ne sont pas fiables?


Merci d'avance pour vos réponses.
Répondre à GWE  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par pasc6, le vendredi 13 avril 2007 à 15:20:24 Fil de Discussions 
C'est du au fait que IE contient un parser de non-validation. Il ne s'attache à ne vérifier QUE si le XML est bien formé. A la différence des parsers de validation tel MSXML
Répondre à pasc6
Discussions pertinentes trouvées dans le forum
30/11 17h16[XML] Probleme validation XML avec DTDProgrammation30/11 17h271
13/11 11h23analyser un fichier xml/dtdProgrammation13/11 11h230
23/04 11h13XML / DTD ComplexeProgrammation23/04 11h130
27/03 01h14developper avec PHP et XML,DTD,XSLT med StatuProgrammation27/03 01h140
Plus de discussions sur « [XML : DTD] Problème de validation avec IE. » Discussion en cours Discussion fermée Problème résolu
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide