XML DTD qui ne marche pas

Fermé
heaven451 - 10 nov. 2009 à 16:31
sandul Messages postés 3927 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 - 10 nov. 2009 à 16:52
Bonjour,
Je débute en XML. J'ai écrit un fichier avec une DTD interne comme si dessous :

-----------------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE annuaire[
<!ELEMENT annuaire (personne*)>
<!ELEMENT personne (nom,prenom,email+)>
<!ATTLIST personne type (étudiant|professeur|chanteur|musicien) "étudiant">
<!ELEMENT nom (#PCDATA)>
<!ELEMENT prenom (#PCDATA)>
<!ELEMENT email (#PCDATA)> ]>

<annuaire>
<personne type="étudiant">
<nom> Audrey </nom>
<prenom>Leleu</prenom>
<email>a.leleu@test.com</email>
</personne>
<personne type="chanteur">
<nom>Nakamura</nom>
<prénom>Hiro</prénom>
<email>hiro@singer.com</email>
</personne>
<personne type="musicien">
<nom>SansMail</nom>
<prenom>Kevin</prenom>
</personne>
</annuaire>
----------------------------------------------------------------------------------------------------------------------

si j'ai bien compris, ça ne devrait pas passer à l'affichage, car Kevin n'a pas de mail, et donc le fichier XML n'est pas valide.
Mais ça marche quand même ! Une erreur m'échappe ou je n'ai pas compris ?
A voir également:

2 réponses

sandul Messages postés 3927 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 723
10 nov. 2009 à 16:51
Salut,

si j'ai bien compris, ça ne devrait pas passer à l'affichage, car Kevin n'a pas de mail, et donc le fichier XML n'est pas valide.

Tout dépend de ton "affichage" et de ton parser (avec validation) XML utilisé. Avec un parser rigoureux, ça ne devrait pas passer. Et puis, si tu l'affiches avec Internet Explorer, ce navigateur est loin d'être une référence en matière de rigourosité XML.

Il y a des parsers XML sérieux dans la nature. Je travaille avec un outil appelé "XML Spy". Il est payant, je ne connais pas de bonnes équivalences dans le monde du libre.

++
0
sandul Messages postés 3927 Date d'inscription jeudi 22 mai 2008 Statut Membre Dernière intervention 8 octobre 2010 723
10 nov. 2009 à 16:52
[Edit] Tu as également une balise "prénom". Change-la en "prenom" (sans accent). Ton parser aurait dû te dire au moins cela, non ?
0