M10 TP11 XML DTD

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 4

EXERCICES XML

Exercice 1:
Observez le document XML suivant :

<?xml version="1.0"?>
<notes>
<!-- une note -->
<note date= ‘ 3 janvier’>
<destineeA>Bob</destineeA>
<de>Alice</de>
<entete>Reminder</entete>
<corps>Don't forget me this weekend!</corps>
</note>
<note date="5 janvier" > <!-- une autre note -->
<destineeA>Alice</destineeA>
<de>Bob</de>
<corps>No problem &amp; see you soon</corps>
</note>
<note />
</notes>
1. Ce document est-il bien formé (i.e. respecte-t-il la syntaxe XML) ?
2. S'il ne l'est pas, corrigez les erreurs.

Exercice 2: Création d’un livre en XML


On souhaite écrire un livre en utilisant le formalisme XML. Le livre est structuré en sections (au
moins 2), chaque section est composée d'au moins deux chapitres, chaque chapitre est structuré en
paragraphes (au moins 2).
Le livre doit contenir la liste des auteurs (avec nom et prénom).
Tous les éléments doivent posséder un titre, sauf le paragraphe qui contient du texte.
Proposez une structuration XML de ce document (avec 2 auteurs, 2 sections, 2 chapitres par section
et 2 paragraphes par chapitre).
Vérifiez, à l’aide de l’éditeur, que votre document est bien formé. Attention : ne pas utiliser
d’attributs ; l’encodage utilisé est ISO-8859-1
Votre document sera nommé livre1.xml.

Exercice 3: Utilisation des attributs


On souhaite compléter la structure du document XML de l’exercice précédent par les attributs nom
et prénom pour les auteurs et titre pour le livre, les sections et les chapitres. Analysez la structure du
nouveau document. Y a-t-il des simplifications possibles ? Vérifiez, à l’aide de l’éditeur, que votre
document est bien formé.

Exercice 4 : Utilisation des espaces de noms par défaut et avec préfixe


Il s’agit de créer un document livre2.xml sur la base de livre1.xml en respectant les points suivants :
• Mettez tous les éléments dans l’espace de noms http://www.masociete.com sans utiliser d’espace
de noms par défaut.
• Mettez la deuxième section dans un espace de noms http://www.monentreprise.com
• Mettez le dernier paragraphe du dernier chapitre de la dernière section sans espace de noms.
Exercice 5 :
On dispose de la DTD cdtheque.dtd
<! ELEMENT cdtheque (cd*)>
<! ELEMENT cd (titre,artiste,style)?>
<!ELEMENT titre (#PCDATA)>
<!ELEMENT artiste(#PCDATA)>
<!ELEMENT style (#PCDATA)>

1. Créez un document XML vérifiant cette DTD en incluant la DTD dans le document.
2. Créez un document XML vérifiant cette DTD en externalisant la DTD.

Exercice 6:
Parmi les documents suivants, lesquels sont valides, lesquels ne le sont pas. Pour chaque document
non valide, expliquez pourquoi il ne l'est pas:
<?xml version="1.0" standalone="yes"?> <?xml version="1.0" encoding="ISO-8859-1"
<!DOCTYPE document [ standalone="yes" ?>
<!ELEMENT document <!DOCTYPE document [
(#PCDATA | title | publisher)*> <!ELEMENT document
<!ELEMENT title (#PCDATA)> (title, publisher)>
<!ELEMENT publisher (name)> <!ELEMENT title (#PCDATA)>
<!ELEMENT name (#PCDATA)> ]> <!ELEMENT publisher (#PCDATA)> ]>
<document> <document>
<title> BD et sites Web </title> <title> LI345</title>
<publisher> <publisher>Alfred Pub</publisher>
<name>Alfred Pub</name> </document>
</publisher>
Publishers are noted in report by name
</document>
Exercice 7:
Ecrire un document XML modélisant votre Curriculum Vitae (réfléchir à ce qui doit être mémorisé
et comment structurer l'information).
Ecrire la DTD associée.

Exercice 8 : Etablir la DTD du document suivant, sachant que l’élément fleuriste est optionnel et qu’il
contient nécessairement soit un élément ville soit un élément lieu.

<composition>
<auteur>Floristore</auteur>
<date_de_creation>29/02/2001</date_de_creation>
<fleuriste>
<ville>Paris</ville>
</fleuriste>
<composants>
<vase>
<matiere>Porcelaine</matiere>
<taille>50x70 cm</taille>
</vase>
<fleurs>
<nature>Europeenne</nature>
<item>Tulipe</item>
<item>glaieul</item>
<item>Marguerite</item>
</fleurs>
</composants>
</composition>

Exercice 9 : Créer le plus petit document xml possible à partir de la dtd suivante
<!DOCTYPE aa
[
<!ELEMENT aa (aa1,aa2?)>
<!ELEMENT aa1 (#PCDATA)>
<!ELEMENT aa2 (#PCDATA)>
]>

Exercice 10 : Etablir la DTD et le document XML qui permettent d’avoir un élément racine aa contenant
un élément aa1 suivi soit d’un élément aa2, soit d’un ou plusieurs éléments aa3.

Exercice 11 : Créer la DTD correspondant au source XML suivant


<?xml version="1.0"?>
<!DOCTYPE compactdiscs SYSTEM "cds.dtd">
<compactdiscs>
<compactdisc>
<artist type="individuel">Charles Aznavour</artist>
<title numberoftracks="4">Je m’voyais deja</title>
<tracks>
<track> Je m’voyais deja </track>
<track>Les plaisirs demodes</track>
<track>Les comediens</track>
<track>La mamma</track>
</tracks>
<price>189 FF</price>
</compactdisc>
<compactdisc>
<artist type="groupe">Les beatles</artist>
<title numberoftracks="5">Yellow submarine</title>
<tracks>
<track>Yellow submarine </track>
<track>Michele</track>
<track>Let it be</track>
<track>Just you need</track>
<track>Hard day’s night</track>
</tracks>
<price>79 FF</price>
</compactdisc>
</compactdiscs>

EXO 12

Il est fréquent qu'il existe des liens entre les données d'un document XML. Il peut s'agir, par exemple,
de références à d'autres parties du document. Les attributs de types ID et IDREF s'utilisent
conjointement pour matérialiser ces liens au sein d'un document. Un attribut de type ID permet
d'identifier de façon unique un élément du document. Les éléments ainsi identifiés peuvent alors être
référencés par d'autres éléments grâce à l'attribut IDREF.

Tester l'exemple suivant:

<?xml version="1.0" encoding="iso-8859-1" standalone="no"?>


<!DOCTYPE book [
<!ELEMENT book (section)*>
<!ELEMENT section (#PCDATA | ref)*>
<!ATTLIST section id ID #IMPLIED>
<!ELEMENT ref EMPTY>
<!ATTLIST ref idref IDREF #REQUIRED>
]>
<book>
<section id="sec0">Une référence
<ref idref="sec1"/> </section>
<section id="sec1">Section sans reference</section></book>

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy