Enseignement > encodage / XML / HTML > TD n°5 - DTD  

Exercice 1

Rédiger le DTD du fichier XML ci dessous
<CATALOG>
<CD>
<TITLE>Empire Burlesque</TITLE>
<ARTIST>Bob Dylan</ARTIST>
<COUNTRY>USA</COUNTRY>
<COMPANY>Columbia</COMPANY>
<PRICE>10.90</PRICE>
<YEAR>1985</YEAR>
</CD>
<CD>
<TITLE>Hide your heart</TITLE>
<ARTIST>Bonnie Tyler</ARTIST>
<COUNTRY>UK</COUNTRY>
<COMPANY>CBS Records</COMPANY>
<PRICE>9.90</PRICE>
<YEAR>1988</YEAR>
</CD>
</CATALOG>

Exercice 2

Créer un fichier XML conforme au DTD ci-dessous :
 

<!DOCTYPE TVSCHEDULE [
<!ELEMENT TVSCHEDULE (CHANNEL+)>
<!ELEMENT CHANNEL (BANNER,DAY+)>
<!ELEMENT BANNER (#PCDATA)>
<!ELEMENT DAY (DATE,(HOLIDAY|PROGRAMSLOT+)+)>
<!ELEMENT HOLIDAY (#PCDATA)>
<!ELEMENT DATE (#PCDATA)>
<!ELEMENT PROGRAMSLOT (TIME,TITLE,DESCRIPTION?)>
<!ELEMENT TIME (#PCDATA)>
<!ELEMENT TITLE (#PCDATA)>
<!ELEMENT DESCRIPTION (#PCDATA)>

<!ATTLIST TVSCHEDULE NAME CDATA #REQUIRED>
<!ATTLIST CHANNEL CHAN CDATA #REQUIRED>
<!ATTLIST PROGRAMSLOT VTR CDATA #IMPLIED>
<!ATTLIST TITLE RATING CDATA #IMPLIED>
<!ATTLIST TITLE LANGUAGE CDATA #IMPLIED>
]>

Solution de l'exercice 2

Exercice 3

Rédiger une DTD permettant de valider le fichier XML d'une bibliographie qui contient des livres ou des articles.

  • Les informations nécessaires pour un livre sont :
    • son titre général ;
    • les noms des auteurs ;
    • ses tomes et pour chaque tome, leur nombre de pages ;
    • des informations générales sur son édition par exemple le nom de l'éditeur, le lieu d'édition, le lieu d'impression, son numéro ISBN ;
  • Les informations nécessaires pour un article sont :
    • son titre ;
    • les noms des auteurs ;
    • ses références de publication : nom du journal, numéro des pages, année de publication et numéro du journal
  • On réservera aussi un champ optionnel pour un avis personnel.

Tester cette DTD avec un fichier XML que l'on écrira ex nihilo et validera.

Solution de l'exercice 3