TD SLFN7


Voici la manière dont j'ai procédé pour construire un document XML complet :
Tout d'abord, j'ai choisi de représenter comme ressource linguistique une pièce de théâtre.

La pièce que j'ai choisi s'intitule : «Le malade imaginaire» de Molière.


Il a donc fallu que je balise les informations sur cette pièce, ainsi que le texte en lui-même qui contient les répliques des personnages, le numéro des actes et des scènes, les indications qui concernent la mise en scène et les décors, et enfin il a fallu indiquer les différents locuteurs.

Sommaire
Le balisage du document

Pour le balisage, j'ai procédé de la manière suivante : j'ai tout d'abord séparé le texte en lui-même des informations le concernant.


La racine du document est représenté à l'aide de la balise <PieceDeTheatre>.
Les informations concernant le texte sont contenus dans la balise <Entete> et dans la balise <Personnages>.
La balise <Entete> contient les informations suivantes :

La balise <Personnages> permet donc de présenter les personnages qui vont intervenir dans la pièce, ce qui se fait de la manière suivante : la balise <Personnages> contient plusieurs balises <presentation> qui regroupe pour chacune d'elles des informations sur un personnage.
La balise <presentation> contient donc la balise <nom> (qui donne le nom de chaque personnage) et la balise <situation> (qui donne des informations sur la situation familiale et ou professionnel du personnage.

Passons maintenant au texte en lui-même, celui-ci est contenu dans la balise <Texte>.
Les informations que j'ai jugées pertinentes sont le numéro des actes et des scènes, ainsi que les indications sur les décors et la mise en scène.
La balise <Texte> contient plusieurs balises <Acte> qui possède un attribut "numero" ce qui permet de répérer les différents actes et aussi de pouvoir récupérer un acte précis notamment à l'aide d'un chemin Xpath. Il en va de même pour la balise <scene> contenue dans la balise <Acte>. Mais cette balise contient également la balise <PersonnagesJouants> qui permet de voir quels sont les personnages qui apparaissent dans chaque scènes.
Ensuite, chaque réplique est contenue dans une balise <replique> qui possède un attribut "loc" ce qui permet de différencier les locuteurs.
De plus des balises <narration> et <decor> peuvent se trouver à l'intérieur des balises <Acte> et ou <scene> et ou <replique>. Comme cela les informations concernant le décor ou la mise en scène apparaissent au moment opportun.


RETOUR AU SOMMAIRE



Le document XML



Pour voir le document XML, cliquez ici



RETOUR AU SOMMAIRE



La DTD du document



J'ai voulu généré la DTD de ce document avec l'outils EditMl, malheureusement comme on peut le voir ci après, cette DTD est loin d'être performante car on peut observer qu'il manque tous les éléments texte (#PCDATA) et certains opérateurs sont manquants ou faux.

Voici la DTD de EditML :
<!-- Generated 12/26/2003 8:28:03 AM by NetBryx XML Tools (www.netbryx.com) -->
<!ELEMENT PieceDeTheatre (Entete,Personnages,Texte)>
<!ELEMENT Entete (auteur,titre,date,type)>
<!ELEMENT Personnages (presentation+)>
<!ELEMENT presentation (nom+,situation+)>
<!ELEMENT Texte (Acte+)>
<!ELEMENT Acte (decor+,scene+)>
<!ELEMENT scene (PersonnagesJouants+,narration,replique+,decor)>
<!ELEMENT replique (narration+)>
<!ATTLIST Acte numero CDATA #REQUIRED>
<!ATTLIST scene numero CDATA #REQUIRED>
<!ATTLIST replique loc CDATA #REQUIRED>
(Cette DTD se trouve dans le même dossier qui contient cette page.)

La bonne DTD a donc été générée par XmlSpy.
La voici :

<?xml version="1.0" encoding="ISO-8859-1"?> <!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Serge Fleury (Serge Fleury / ILPGA-Université Paris 3) -->
<!--DTD generated by XMLSPY v5 rel. 4 U (http://www.xmlspy.com)-->
<!ELEMENT Acte (decor, scene+)>
<!ATTLIST Acte
numero (1 | 2 | 3) #REQUIRED
>
<!ELEMENT Entete (auteur, titre, date, type)>
<!ELEMENT Personnages (presentation+)>
<!ELEMENT PersonnagesJouants (#PCDATA)>
<!ELEMENT PieceDeTheatre (Entete, Personnages, Texte)>
<!ELEMENT Texte (Acte+)>
<!ELEMENT auteur (#PCDATA)>
<!ELEMENT date (#PCDATA)>
<!ELEMENT decor (#PCDATA)>
<!ELEMENT narration (#PCDATA)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT presentation (nom, situation)>
<!ELEMENT replique (#PCDATA | narration)*>
<!ATTLIST replique
loc CDATA #REQUIRED
>
<!ELEMENT scene (PersonnagesJouants, narration?, decor?, replique+)>
<!ATTLIST scene
numero (1 | 10 | 11 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9) #REQUIRED
>
<!ELEMENT situation (#PCDATA)>
<!ELEMENT titre (#PCDATA)>
<!ELEMENT type (#PCDATA)>
(Cette DTD se trouve dans le même dossier qui contient cette page.)



RETOUR AU SOMMAIRE