Une DTD

Soit la DTD suivante :

1
<!ELEMENT entete (titre, date, auteur+, motscles*, resume?)>
2
<!ELEMENT titre (#PCDATA)>
3
<!ELEMENT date (#PCDATA)>
4
<!ELEMENT auteur (#PCDATA)>
5
<!ELEMENT motscles (#PCDATA)>
6
<!ELEMENT resume (paragraphe+)>
7
<!ELEMENT paragraphe (#PCDATA)>

Question

Produire un document XML valide par rapport à cette DTD

Solution

Exemple
1
<?xml version="1.0"?>
2
<!DOCTYPE entete SYSTEM "entete.dtd">
3
<entete>
4
  <titre>Mon document</titre>
5
  <date>Aujourd'hui</date>
6
  <auteur>Moi</auteur>
7
</entete>

Question

Le document suivant est-il valide par rapport à la DTD ?

1
<?xml version="1.0"?>
2
<!DOCTYPE entete SYSTEM "entete.dtd">
3
<entete>
4
  <titre>Document de test</titre>
5
  <date>2 décembre 2009</date>
6
  <auteur>Stéphane Crozat</auteur>
7
  <motscles>Document DTD XML Valide</motscles>
8
</entete>

Question

Produire le plus petit document XML valide par rapport à cette DTD.

Solution

1
<?xml version="1.0"?>
2
<!DOCTYPE entete SYSTEM "entete.dtd">
3
<entete>
4
  <titre/>
5
  <date/>
6
  <auteur/>
7
</entete>

Question

Produire un document XML utilisant toutes les balises de la DTD.

Solution

Exemple
1
<?xml version="1.0"?>
2
<!DOCTYPE entete SYSTEM "entete.dtd">
3
<entete>
4
  <titre>Mon document</titre>
5
  <date>Aujourd'hui</date>
6
  <auteur>Moi</auteur>
7
  <motscles>Document</motscles>
8
  <resume>
9
    <paragraphe>Mon résumé</paragraphe>
10
  </resume>
11
</entete>