Commentaire DTD

& Instance de Document.

 

 

 

  1. <?xml version="1.0" encoding="ISO-8859-1" ?>
  2. <!ELEMENT POEME (AUTEUR+, TITRE, DATE, ((VERS+)|(STROPHE+ | REFRAIN?)+))>
  3. <!ELEMENT AUTEUR (PRENOM+, NOM)>
  4. <!ELEMENT PRENOM (#PCDATA)>
  5. <!ELEMENT NOM (#PCDATA)>
  6. <!ELEMENT TITRE (#PCDATA)>
  7. <!ELEMENT DATE (#PCDATA)>
  8. <!ELEMENT STROPHE (VERS+)>
  9. <!ATTLIST STROPHE type (distique | tercet | quatrain | quintil) #IMPLIED>
  10. <!ELEMENT REFRAIN (VERS+)>
  11. <!ATTLIST REFRAIN type (distique | tercet | quatrain | quintil) #IMPLIED>
  12. <!ELEMENT VERS (#PCDATA)>

 

 

Cette courte DTD, grammaire de document, permettra de baliser des documents appartenant au type "poème".

1. Déclaration Xml.

2. Déclaration de l’élément poeme.

La formule de contenu nous indique que dans l’instance de document "poème" figurera un ou plusieurs élément auteur (+) puis (,) un élément titre suivi d’un élément date suivi d’un corps constitué soit d’un certain nombre d’élément vers (+), soit de 1 à n occurrences d’un groupe formé d’un ou plusieurs éléments strophe suivi ou non d’un élément refrain.

Cette DTD, par exemple, permet :

- une suite de vers

- une suite strophe, refrain, strophe, refrain...

3. Déclaration de l’élément auteur.

Cet élément est se compose de d’un ou plusieurs élément prénom puis d’un élément nom.

4-7. Les 4 éléments prénom, nom, titre et date sont de nature chaînes de caractères (#pcdata).

8. Déclaration de l’élément strophe. 

Une strophe sera constituée d’1 à n occurrences de l’élément vers.

9. Déclaration d’Attribut pour l’élément strophe.

Il s’agira d’un attribut "type" qui pourra perdre l’une des valeurs suivantes : distique, tercet, quatrain ou quintil.

#implied indique sue si on ne spécifie pas de valeur pour l’attribut, le système de traitement du document le fera .

10. Déclaration de l’élément refrain. 

Un refrain sera également constitué d’1 à n occurrences de l’élément vers.

11. Déclaration d’attribut pour l’élément refrain.

Ce sont les mêmes pour l’élément strophe.

12. Enfin, l’élément vers sera des chaînes de caractères.

On peut noter que cette DTD ne spécifie pas s’il est permis ou non d’omettre les balises de fermeture pour l’un ou l’autre de ses éléments.

Voici 2 exemples d’instance, obéissant à la DTD poème que j’ai réalisé moi-même. Il s’agit Soleils Couchants de Paul Verlaine et de Le Chat de Baudelaire.

 

 

 

 

Exemple n°1.

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>

<!DOCTYPE POEME SYSTEM "poeme.dtd">

<POEME>

<AUTEUR>

<PRENOM>Paul</PRENOM>

<NOM>Verlaine</NOM>

</AUTEUR>

<TITRE>Soleils Couchants</TITRE>

<DATE>1866</DATE>

<VERS>Une aube affaiblie</VERS>

<VERS>Verse par les champs</VERS>

<VERS>La mélancolie</VERS>

<VERS>Des soleils couchants.</VERS>

<VERS>La mélancolie</VERS>

<VERS>Berce de doux chants</VERS>

<VERS>Mon coeur qui s'oublie</VERS>

<VERS>Aux soleils couchants.</VERS>

<VERS>Et d'étranges rêves,</VERS>

<VERS>Comme des soleils</VERS>

<VERS>Couchants sur les grèves,</VERS>

<VERS>Fant"mes vermeils,</VERS>

<VERS>D'filent sans trêves,</VERS>

<VERS>D'filent, pareils,</VERS>

<VERS>A des grands soleils,</VERS>

<VERS>Couchants sur les grèves.</VERS>

</POEME>

 

 

Exemple n°2.

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes" ?>

<!DOCTYPE POEME SYSTEM "poeme.dtd">

<POEME>

<AUTEUR>

<PRENOM>Charles</PRENOM>

<NOM>Baudelaire</NOM>

</AUTEUR>

<TITRE>Le Chat</TITRE>

<DATE>1857</DATE>

<STROPHE type="quatrain">

<VERS>Viens,mon beau chat, sur mon coeur amoureux ;</VERS>

<VERS>Retiens les grigges de ta patte,</VERS>

<VERS>Et laissse-moi plonger dans tes beaux yeux,</VERS>

<VERS>Mêlés de métal et d'agate.</VERS>

</STROPHE>

<STROPHE type="quatrain">

<VERS>Lorsque mes doigts caressent à loisirs</VERS>

<VERS>Ta tête et ton dos élastique,</VERS>

<VERS>Et que ma main s'enivre du plaisir</VERS>

<VERS>De palper ton corps électrique,</VERS>

</STROPHE>

<STROPHE type="tercet">

<VERS>Je vois ma femme en esprit. Son regard,</VERS>

<VERS>Comme le tien, aimable bête,</VERS>

<VERS>Profond et froid, coupe et fend comme un dard,</VERS>

</STROPHE>

<STROPHE type="tercet">

<VERS>Et, des pieds jusqu'à la tête,</VERS>

<VERS>Un air subtil, un dangereux parfum</VERS>

<VERS>Nagent autour de son corps brun.</VERS>

</STROPHE>

</POEME>