Rechercher : dans
Par :

XML DTD qui ne marche pas

Dernière réponse le 10 nov 2009 à 16:52:28 heaven451, le 10 nov 2009 à 16:31:47 
 Signaler ce message aux modérateurs

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 ?

Configuration: Mac OS X
Firefox 3.5.5

Meilleures réponses pour « XML DTD qui ne marche pas » dans :
Présentation des DTD Voir Le rôle de la DTD XML permet d'utiliser un fichier afin de vérifier qu'un document XML est conforme à une syntaxe donnée. La norme XML définit ainsi une définition de document type appelée DTD (Document Type Definition), c'est-à-dire une grammaire...
Télécharger DriveImage XML VoirDriveImage XML est un programme permettant de faire des images du système (partitions et lecteurs logiques) à des fins de sauvegarde, à la manière de Norton Ghost. Ce programme permet : De créer des images des lecteurs logiques et des...
Déclaration d'entités dans les DTD VoirDéclarer des entités XML permet de créer des entités, c'est-à-dire de déclarer un groupe d'éléments sous un nom afin de ne pas avoir à réécrire ces derniers plusieurs fois dans la DTD s'ils se répètent, dans le même esprit que les macros dans les...
Introduction à XML VoirPrésentation de XML XML (entendez eXtensible Markup Language et traduisez Langage à balises étendu, ou Langage à balises extensible) est en quelque sorte un langage HTML amélioré permettant de définir de nouvelles balises. Il s'agit effectivement...
Mise en page de XML avec XSL VoirIntroduction à XSL XML est un langage de structuration des données, et non de représentation des données. Ainsi XSL (eXtensible StyleSheet Language) est un langage recommandé par le W3C pour effectuer la représentation des données de documents XML....

1

sandul, le 10 nov 2009 à 16:51:09

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.

++ A man would die, though he were neither valiant nor miserable,
only upon a weariness to do the same thing so oft over and over. [Bacon]

Répondre à sandul

2

 sandul, le 10 nov 2009 à 16:52:28

[Edit] Tu as également une balise "prénom". Change-la en "prenom" (sans accent). Ton parser aurait dû te dire au moins cela, non ?

Répondre à sandul
Collection CommentÇaMarche.net