Trucsweb.com

Forum de discussion

 Forum « Programmation XML et XSL » (archives)

définition d'entité et déclaration

Envoyé: 9 avril 2004, 6h48 par girl_bond


bonjour,

je voudrais savoir comment déclarer une entité dans une DTD et la définir parce que ce que j'ai fait cela ne fonctionne pas, voici les explications et les DTD et doc XML initiaux et modifier :

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 m'a été donné et le voici :


code:
--------------------------------------------------------------------------------

<?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 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 dans mon doc XML j'ai juste modifié ca :

<?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





Réponses

 Aucune réponse à ce message... 
Aucun médias sociaux
X

Trucsweb.com Connexion

Connexion

X

Trucsweb.com Mot de passe perdu

Connexion

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte

Créer un compte

.
@