Exercice 1

Transcription

Exercice 1
TD Systèmes d'information et bases de données
XML
Exercice 1
Pour chacun des documents XML suivants, déterminez s'il est bien formé, et corrigez les erreurs.
Document 1
<?xml version="1.0" encoding="UTF-8"?>
<Contacts>
<Person>
<Firstname>John</Firstname>
<Lastname>Smith</Lastname>
<Position>CEO</Position>
</Person>
<Person>
<Firstname>Tom</Firstname>
<Lastname>Dunne</Lastname>
<Company>Today FM</Company>
<Position/>
<Email>[email protected]</Email>
</Person>
</Contacts>
Document 2
<?xml version="1.0"? encoding="UTF-8">
<Contacts>
<Person>
<Firstname>John</Firstname>
<Lastname>Smith</Lastname>
<Birthday>1965/03/02</Birthday>
<Company>IBM</Company>
<Position>CEO</Position>
<Email>[email protected]<Email/>
<Email>[email protected]</Email>
</Person>
<Person>
<Firstname>Tom</Firstname>
<Lastname>Dunne</Lastname>
<Company>Today FM</Company>
<Position/>
<Email>[email protected]</Email>
</Person>
</Contacts>
Document 3
<?xml version="1.0" encoding="UTF-8"?>
<Contacts>
<Person>
<Firstname>John</Firstname>
<Lastname>Smith</Lastname>
<Birthday>19650302</Birthday>
<Company>IBM</Company>
<Position>CEO</Position>
<Email>[email protected]</Email>
<Email>[email protected]</Email>
<Address type="home">
<Company>
<Street>23 Main St</Company>
</Street>
<City>Dublin</City>
<Postcode>4</Postcode>
<Country/>
</Address>
<Address type="work">
<Street>1234 High St</Street>
<City>Boston</City>
<ZIP>1234</ZIP>
<Country>Ireland</Country>
</Address>
</Person>
<Person>
<Firstname>Tom</Firstname>
<Lastname>Dunne</Lastname>
<Company>Today FM</Company>
<Position/>
<Email>[email protected]</Email>
</Person>
</Contacts>
Exercice 2
Soit le document XML suivant.
<?xml encoding=”utf-8” version=”1.0”?>
<cours jour = ”Jeudi” salle=”B300”>
<sujet>XML</sujet>
<Horaire>8h00</horaire>
</cours>
<td jour=Mardi>
<sujet>XML</sujet>
<horaire>15h30</horaire>
<tp jour=”Mercredi”>
<sujet>XML</sujet>
<horaire>13h30</horaire>
</TP>
1.Trouver les 6 erreurs qui font de ce document un document qui n'est pas bien formé.
2.Donner l'arbre XML correspondant.
3.Parmi les balises suivantes, indiquer lesquelles sont des balises correctes :
<123>
<__>
<_a>
<_:-->
<a:2>
<.aaa>
<a.b.c>
<_aaa-a:_-_>
<a-b-c>
<dd;ee>
<ASDF>
<1qwerty>
<a2:eee>
<aa __>
<xmltest>
4.Donner la forme sérialisée de l'arbre XML suivant.
Catalogue
Chapitre
Cds
Livre
Livre
Chapitre
Auteur
Auteur
Nom
Prénom
Turing
Alan
Auteur
Auteur
Nom
Nom
Sifakis
Prénom
J. Brel
Prénom
Mandela
Nelson
Joseph
Exercice 3
1. Ce document n'est pas correct car le préfixe fact n'est pas défini. Corrigez-le.
<?xml version="1.0" encoding="ISO-8859-1" ?>
<fact:facture>
<fact:montant>10$</fact:montant>
<fact:nom>Jean</fact:nom>
</fact:facture>
2. Quel est l'espace de noms de l'élément fact:montant dans l'exemple suivant
<?xml version="1.0" encoding="ISO-8859-1" ?>
<fact:facture xmlns:fact="http://www.domaine.com/facture">
<fact:facture xmlns:fact="http://www.domaine.com/facture2">
</fact:facture>
<fact:montant />
</fact:facture>
3. On considère le document suivant:
<?xml version="1.0"?>
<recherche
xmlns="http://www.google.com/"
xmlns:yahoo="http://www.yahoo.com/">
<mots-clefs xmlns="http://www.yahoo.com/">
fraise, orange
</mots-clefs>
<yahoo:mot xmlns:yahoo2="http://www.yahoo.com/">
<nombre>3</nombre>
</yahoo:mot>
</recherche>
(a) A quel espace de noms, identifié par son URI, est-ce que l'élément mots-clefs
appartient ?
(b) A quel espace de noms, identifié par son URI, est-ce que l'élément recherche
appartient ?
(c) A quel espace de noms, identifié par son URI, est-ce que l'élément yahoo:mot
appartient ?
(d) A quel espace de noms, identifié par son URI, est-ce que l'élément nombre appartient ?
(e) Combien y a-t-il d'espaces de noms dans ce document ?
4. Corriger le document suivant:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<expedition> TD-2 : Espaces de noms
<fact:facture xmlns:fact="http://www.domaine.com/facture">
</fact:facture>
<fact:nom></fact:nom>
</expedition>
5. On demande de supprimer tous les préfixes inutiles.
<?xml version="1.0" encoding="UTF-8"?>
TD-2 : Espaces de noms
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://prismstandard.org/namespaces/pcv/1.0/"
xmlns:pcv="http://prismstandard.org/namespaces/pcv/1.0/"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description
rdf:about="http://wanderlust.com/2000/08/Corfu.jpg">
<dc:identifier
rdf:resource="http://wanderlust.com/content/2357845" />
<dc:creator>
<pcv:Descriptor rdf:about="http://wanderlust.com/emp3845">
<pcv:label>John Peterson </pcv:label>
</pcv:Descriptor>
</dc:creator>
<dc:coverage>
<pcv:Descriptor
rdf:about="http://prismstandard.org/vocabs/ISO-3166/GR">
<pcv:label xml:lang="en">Greece</pcv:label>
<pcv:label xml:lang="fr">Grece</pcv:label>
</pcv:Descriptor>
</dc:coverage>
</rdf:Description>
</rdf:RDF>