Rechercher : dans
Par :

XML + prob de declaration entite

Dernière réponse le 9 avr 2004 à 20:37:01 girl_bond, le 9 avr 2004 à 13:34:35 
 Signaler ce message aux modérateurs

Bonjour,

ma declaration d'entité ne fonctionne pas, voici exactement ce que j'ai fais
mes fichiers de départ :

mon document XML contient les menus de la semaine au restaurant universitaire, sachant qu'un menu type est composé :
d'1 entrée
d'1 plat lui même composé d'une viande, de légumes
d'1 dessert

le document XML initial :

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!DOCTYPE MENUS SYSTEM "menus1.dtd"> 

<MENUS> 
    <MENU jour="lundi"> 
     <ENTREE>crudités</ENTREE> 
     <PLAT> 
   <VIANDES>steak</VIANDES> 
   <LEGUMES>frites</LEGUMES> 
     </PLAT> 
     <DESSERT>yahourt</DESSERT> 
    </MENU> 

    <MENU jour="mardi"> 
     <ENTREE>paté en croute</ENTREE> 
     <PLAT> 
   <VIANDES>couscous</VIANDES> 
   <LEGUMES>macédoine</LEGUMES> 
     </PLAT> 
     <DESSERT>pomme</DESSERT> 
    </MENU> 

    <MENU jour="mercredi"> 
     <ENTREE>sardine</ENTREE> 
     <PLAT> 
   <VIANDES>lapin</VIANDES> 
   <LEGUMES>Farfale</LEGUMES> 
     </PLAT> 
     <DESSERT>orange</DESSERT> 
    </MENU> 

    <MENU jour="jeudi"> 
     <ENTREE>salade piemontaise</ENTREE> 
     <PLAT> 
   <VIANDES>dinde à la crème</VIANDES> 
   <LEGUMES>pomme de terre</LEGUMES> 
     </PLAT> 
     <DESSERT>gâteau à l'ananas</DESSERT> 
     </MENU> 

     <MENU jour="vendredi"> 
     <ENTREE>coquille saint Jacques</ENTREE> 
     <PLAT> 
   <VIANDES>poulet<VIANDES> 
   <LEGUMES>pate</LEGUMES> 
     </PLAT> 
     <DESSERT>poire</DESSERT> 
     </MENU> 
</MENUS> 

j'ai créé la DTD suivant : 


<!ELEMENT MENUS (MENU*)> 
<!ELEMENT MENU (ENTREE, PLAT,DESSERT)> 
<!ELEMENT PLAT (VIANDES, LEGUMES)> 
<!ATTLIST MENU jour (lundi|mardi|mercredi|jeudi|vendredi) "jeudi"> 
<!ELEMENT ENTREE (#PCDATA)> 
<!ELEMENT VIANDES (#PCDATA)> 
<!ELEMENT LEGUMES (#PCDATA)> 
<!ELEMENT DESSERT (#PCDATA)> 

cela fonctionne le document XML est valide 
ensuite je dois ajouter dans la DTD la définition de l'entité "ViandeVen" de valeur "Poisson" . Dans le document XML créer ou modifier l'élément menu correspondant au vendredi afin que la valeur de l'élément VIANDE référence l'entité "ViandeVen". Donc, je veux  que la valeur poisson s'affiche dans l'élément VIANDE seulement pour le vendredi. j'ai transformé mes documents XML et DTD comme cela : 

<!ELEMENT MENUS (MENU*)> 
<!ELEMENT MENU (ENTREE, PLAT,DESSERT)> 
<!ELEMENT PLAT (VIANDES, LEGUMES)> 
<!ATTLIST MENU jour (lundi|mardi|mercredi|jeudi|vendredi) "jeudi"> 
<!ELEMENT ENTREE (#PCDATA)> 
<!ELEMENT VIANDES (#PCDATA)> 
<!ELEMENT LEGUMES (#PCDATA)> 
<!ELEMENT DESSERT (#PCDATA)> 
<!ENTITY VIANDES "Poisson"> 

et mon doc XML , j'ai juste modifié ceci : 

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!DOCTYPE MENUS SYSTEM "menus1.dtd"> 

...
     <MENU jour="vendredi"> 
     <ENTREE>coquille saint Jacques</ENTREE> 
     <PLAT> 
   <VIANDES>&ViandeVen;</VIANDES> 
   <LEGUMES>macedoine</LEGUMES> 
     </PLAT> 
     <DESSERT>poire</DESSERT> 
     </MENU> 
</MENUS>[/  code] 

mais il m'indique l'erreur suivante : Référence à l'entité non définie 'ViandeVen'. Erreur de traitement de la ressource file:///C:/Program Files/Wanadoo/Utilisateur1/Bellahem/menus1.xml. Ligne 44, Position 12 

 <VIANDES>&ViandeVen;</VIANDES> 
-----------^ 

si quelqu'un pouvais vérifier mes différents documents, merci

Meilleures réponses pour « XML + prob de declaration entite » dans :
Déclaration d'entités dans les DTD Voir Dé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...
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...
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...
Déclaration d'une feuille de style (CSS) VoirDéclaration d'une feuille de style Les feuilles de style sont un sur-ensemble du langage HTML, cela signifie qu'elle ne sont pas intégrées directement dans les recommandations HTML du W3C. Ainsi, il est nécessaire de renseigner le code HTML avec...
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

 sglug, le 9 avr 2004 à 20:37:01

Perso j utilise xml / xsl pour creer des pages html dynamiquement
sans jamais avoir utilise de dtd du coup je comprend pas trop pourquoi on les utilises ???
ca enleve toutes la souplesse d'utilisation du xml.

mais toi tu va en faire quoi apres de ton flux xml?

Répondre à sglug
Collection CommentÇaMarche.net