Vous êtes sur la page 1sur 19

Module 7 : Initiation à XML & DTD

Séquence 7.2 : DTD (Document Type Definition)


Séquence 7.2 : DTD (Document
Type Definition)

Développement Web – Faycel CHAOUA & Houda TOUKABRI 23


Plan

QU’EST CE CONTENU ENTITÉS ÉLÉMENTS ATTRIBUTS


QU’UNE DTD ? D’UNE DTD

Développement Web – Faycel CHAOUA & Houda TOUKABRI 24


Qu’est ce qu’une DTD ?

Développement Web – Faycel CHAOUA & Houda TOUKABRI 25


Qu’est ce qu’une DTD ?

• Le rôle d'une DTD est de définir certaines contraintes que doit respecter un
document pour être valide.

• La DTD contient des déclarations d'éléments et d'attributs délimitées par les


chaînes de caractères '<!' et '>'.

• La déclaration de la DTD du document doit être placée dans le prologue.


Développement Web – Faycel CHAOUA & Houda TOUKABRI 26
Qu’est ce qu’une DTD ?
La DTD peut être :

• Interne : Lorsque la DTD est incluse dans le document.


• Externe : Lorsque la DTD est contenue dans un autre fichier (.dtd).
• Adressée par FPI (Formal Public Identifier) : <!DOCTYPE root-element PUBLIC "fpi" "url">
• Adressée par URL : <!DOCTYPE root-element SYSTEM "url">

• Mixte : Avoir simultanément une DTD externe adressée par URL ou FPI et des déclarations
internes.
Développement Web – Faycel CHAOUA & Houda TOUKABRI 27
Contenu d’une DTD

Développement Web – Faycel CHAOUA & Houda TOUKABRI 28


Contenu d’une DTD
• Format déclaration DTD : <!motClef contenu>

• motClef est :
• ELEMENT : déclaration d'élément.
• ATTLIST : déclaration d’attribut.
• ENTITY : déclaration d’entité.

• Une DTD contient aussi des commentaires inclus entre '<!--' et '-->'.
Développement Web – Faycel CHAOUA & Houda TOUKABRI 29
Éléments

Développement Web – Faycel CHAOUA & Houda TOUKABRI 30


Éléments
• Une déclaration d'élément peut prendre la forme suivante :
<!ELEMENT element regexp>

• regexp décrit les suites autorisées d'enfants dans le contenu de l'élément par des opérateurs.
Opérateur Signification
, Mise en séquence
| Choix
? 0 ou 1 occurrence
* Répétition d'un nombre quelconque d'occurrences
+ Répétition d'un nombre non nul d'occurrences
Développement Web – Faycel CHAOUA & Houda TOUKABRI 31
Éléments
• <!ELEMENT element (#PCDATA)>
• element a un contenu textuelle.

• <!ELEMENT element EMPTY>


• element a un contenu vide.

• <!ELEMENT element ANY>


• aucune contrainte sur contenu de element.
Développement Web – Faycel CHAOUA & Houda TOUKABRI 32
Attributs

Développement Web – Faycel CHAOUA & Houda TOUKABRI 33


Attributs

Déclaration d’attribut :

• Un seul attribut : <!ATTLIST element attribut type default>


• Plusieurs attributs : <!ATTLIST element attribut1 type1 default1
attribut2 type2 default2
...
attributN typeN defaultN>
Développement Web – Faycel CHAOUA & Houda TOUKABRI 34
Attributs

Les attribues ont les types suivants :


• CDATA : Une chaîne quelconque de caractères.
• NMTOKEN : La valeur de l'attribut est un jeton.
• NMTOKENS : La valeur de l'attribut est une liste de jetons séparés par des
espaces.
• ID : La valeur de l'attribut est un nom XML. Un élément peut avoir un seul
attribut de ce type.
Développement Web – Faycel CHAOUA & Houda TOUKABRI 35
Attributs
• IDREF : La valeur de l'attribut est une référence à un élément identifié par la
valeur de son attribut de type ID.
• IDREFS : La valeur de l'attribut est une liste de références séparées par des
espaces.
• NOTATION : La valeur de l'attribut est une notation.
• ENTITY : La valeur de l'attribut une entité externe non XML.
• ENTITIES : La valeur de l'attribut une liste d'entités externes non XML.

Développement Web – Faycel CHAOUA & Houda TOUKABRI 36


Attributs
La déclaration d'attribut précise une valeur par défaut ayant une des formes suivantes :
• "value" ou 'value' : La valeur value est une chaîne quelconque de caractères
délimitée par des apostrophes '' ou des guillemets "".
• #IMPLIED : L'attribut est optionnel et il n'a pas de valeur par défaut.
• #REQUIRED : L'attribut est obligatoire et il n'a pas de valeur par défaut.
• #FIXED "value" ou #FIXED 'value' : La valeur de l'attribut est fixée à la valeur
value donnée.

Développement Web – Faycel CHAOUA & Houda TOUKABRI 37


Entités

Développement Web – Faycel CHAOUA & Houda TOUKABRI 38


Entités

• La déclaration d'une entité commence par <!ENTITY suivi du nom de l'entité.


Elle prend une des trois formes suivantes :
• <!ENTITY name "fragment"> (interne)
• <!ENTITY name SYSTEM "url"> (externe)
• <!ENTITY name PUBLIC "fpi" "url"> (externe)

• Une entité de nom name est référencée par &name;


Développement Web – Faycel CHAOUA & Houda TOUKABRI 39
Entités

Entités prédéfinies pour les caractères spéciaux :

Entité Caractère
&lt; <
&gt; >
&amp; &
&apos; '
&quot; "
Développement Web – Faycel CHAOUA & Houda TOUKABRI 40

Vous aimerez peut-être aussi