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>