Exercice
Le fichier file.xml
n'est pas valide par rapport à la DTD schema.dtd
. Sélectionnez les éléments causes de cette non-validité.
1
<?xml version="1.0"?>
2
<!--file.xml-->
3
<!DOCTYPE papier SYSTEM "schema.dtd">
4
<papier>
5
<titre>Réinterroger les structures documentaires</titre>
6
<auteur>Stéphane Crozat</auteur>
7
<auteur>Bruno Bachimont</auteur>
8
<resume>Nous proposons dans cet article d'aborder ...</resume>
9
<abstract>In this paper we define...</abstract>
10
<motsCles>
11
<terme>Ingénierie des connaissances</terme>
12
<terme>Document</terme>
13
</motsCles>
14
<version num="1"/>
15
<ressource src="sic_00001016.pdf"/>
16
</papier>
<?xml version="1.0"?> <!--file.xml--> <!DOCTYPE papier SYSTEM "schema.dtd"> <papier> <titre>Réinterroger les structures documentaires</titre> <auteur>Stéphane Crozat</auteur> <auteur>Bruno Bachimont</auteur> <resume>Nous proposons dans cet article d'aborder ...</resume> <abstract>In this paper we define...</abstract> <motsCles> <terme>Ingénierie des connaissances</terme> <terme>Document</terme> </motsCles> <version num="1"/> <ressource src="sic_00001016.pdf"/> </papier>
1
<!-- schema.dtd-->
2
<!ELEMENT papier (titre, sousTitre?, auteur, resume, abstract, motsCles, (version | ressource)*)>
3
<!ELEMENT titre (#PCDATA)>
4
<!ELEMENT sousTitre (#PCDATA)>
5
<!ELEMENT auteur (#PCDATA)>
6
<!ELEMENT resume (#PCDATA)>
7
<!ELEMENT motsCles (#PCDATA)>
8
<!ELEMENT version (#PCDATA)>
9
<!ELEMENT ressource EMPTY>
<!-- schema.dtd--> <!ELEMENT papier (titre, sousTitre?, auteur, resume, abstract, motsCles, (version | ressource)*)> <!ELEMENT titre (#PCDATA)> <!ELEMENT sousTitre (#PCDATA)> <!ELEMENT auteur (#PCDATA)> <!ELEMENT resume (#PCDATA)> <!ELEMENT motsCles (#PCDATA)> <!ELEMENT version (#PCDATA)> <!ELEMENT ressource EMPTY>
ressource sousTitre auteur motsCles abstract version titre resume Plus d'éléments à catégoriser | Éléments correctement spécifiés Déposez ici Éléments incorrectement spécifiés Déposez ici |
Les erreurs :
Il manque la cardinalité N sur auteur (
auteur*
ouauteur+
)Il manque la déclaration de
abstract
danspapier
et sa définitionmotsCles
n'est pas du texte, mais contient des élémentsterme
, qui doivent être définis.Il manque la définition des attributs de
version
etressource
.
Ci-après la DTD corrigée.
1
<!-- schema.dtd-->
2
<!ELEMENT papier (titre, sousTitre?, auteur*, resume, abstract, motsCles, (version | ressource)*)>
3
<!ELEMENT titre (#PCDATA)>
4
<!ELEMENT sousTitre (#PCDATA)>
5
<!ELEMENT auteur (#PCDATA)>
6
<!ELEMENT resume (#PCDATA)>
7
<!ELEMENT abstract (#PCDATA)>
8
<!ELEMENT motsCles (terme+)>
9
<!ELEMENT terme (#PCDATA)>
10
<!ELEMENT version (#PCDATA)>
11
<!ATTLIST version num CDATA #IMPLIED>
12
<!ELEMENT ressource EMPTY>
13
<!ATTLIST ressource src CDATA #REQUIRED>
<!-- schema.dtd--> <!ELEMENT papier (titre, sousTitre?, auteur*, resume, abstract, motsCles, (version | ressource)*)> <!ELEMENT titre (#PCDATA)> <!ELEMENT sousTitre (#PCDATA)> <!ELEMENT auteur (#PCDATA)> <!ELEMENT resume (#PCDATA)> <!ELEMENT abstract (#PCDATA)> <!ELEMENT motsCles (terme+)> <!ELEMENT terme (#PCDATA)> <!ELEMENT version (#PCDATA)> <!ATTLIST version num CDATA #IMPLIED> <!ELEMENT ressource EMPTY> <!ATTLIST ressource src CDATA #REQUIRED>