TP2 : DTD & Schémas XML

Exercice 1 :

- Ecrire un document CV.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 et vérifier si le document CV.xml est valide.

Exercice 2 :

Soient le document XML ouvrages.xml et la DTD associée.

<!ELEMENT ouvrages (livre | rapport | article)* >

<!ELEMENT livre (titre, auteur+, chapitre+) >

<!ATTLIST livre langue CDATA #REQUIRED nbpage CDATA #REQUIRED>

<!ELEMENT chapitre (section)+ >

<!ELEMENT titre (#PCDATA) >

<!ELEMENT nbpage (#PCDATA) >

<!ELEMENT auteur (nom, prenom, pays?) >

<!ELEMENT nom ( #PCDATA)>

<!ELEMENT prenom (#PCDATA) >

<!ELEMENT pays (#PCDATA) >

<!ELEMENT section (para)+ >

<!ELEMENT para (#PCDATA) >

<!ELEMENT rapport (titre, auteur+, chapitre+) >

<!ATTLIST rapport langue CDATA #REQUIRED nbpage CDATA #REQUIRED>

<!ELEMENT article (titre, auteur+, section+)>

<!ATTLIST article langue CDATA #REQUIRED nbpage CDATA #REQUIRED>

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE ouvrage SYSTEM "ouvrages.dtd">

<ouvrages>

<article langue="français" nbpage="30">

<titre>Computer evolution</titre>

<auteur> <nom>Eliot</nom><prenom>John</prenom><pays>USA</pays>

</auteur>

<section><para>This is a state of art about ...</para></section>

</article>

<rapport langue="français" nbpage="20">

<titre>Xrapport</titre>

<auteur> <nom>Xnom</nom><prenom>Xprenom</prenom><pays>Xpays</pays>

</auteur>

<chapitre>

<section><para>du texte</para></section>

</chapitre>

</rapport>

</ouvrages>

1- Vérifier que le document est bien formé et valide.

2- Modifier la DTD en utilisant des entités paramètres pour modéliser les contenus et les attributs identiques.

Exercice 3 :

1- Reprendre la DTD de l'exercice 1 et proposer un schema XML correspondant.

2- Vérifier si le document XML associé est valide.