Académique Documents
Professionnel Documents
Culture Documents
Type Definition)
Introduction
DTD interne
DTD (Document Type Definition)
DTD externe
Déclarer les
éléments
Indicateurs
d’occurence
Déclarer les
attributs
Décembre 2017
Limites des DTD
emeline.dorey@gmail.com
DTD (Document
Type Definition)
Introduction
DTD interne
DTD externe
1 Introduction 5 Indicateurs d’occurence
Déclarer les
éléments 2 DTD interne 6 Déclarer les attributs
Indicateurs 3 DTD externe 7 Limites des DTD
d’occurence
Déclarer les
4 Déclarer les éléments
attributs
DTD (Document
Type Definition)
DTD (Document
Type Definition)
Introduction
DTD interne
Un document est “bien formé” lorsqu’un document
DTD externe
XML répond aux règles de base du XML et ne
Déclarer les
éléments comporte pas de DTD.
Indicateurs
d’occurence
Un document est “valide” par rapport à une DTD si
Déclarer les
ce document XML est bien formé et conforme à cette
attributs DTD.
Limites des DTD
DTD (Document
Type Definition)
DTD (Document
Type Definition)
Introduction
Une DTD définit la structure d’un document :
DTD interne les éléments et les attributs qui y sont autorisés;
DTD externe
les types de contenus qui y sont permis.
Déclarer les Elle permet de faire la différence entre un document
éléments
bien formé et un document valide.
Indicateurs
d’occurence
Le document bien formé répond aux exigences de la
Déclarer les
attributs spécification.
Limites des DTD Le document valide se conforme strictement aux règles
établies par la DTD à laquelle il fait référence.
DTD (Document
Type Definition)
Introduction
Une DTD peut être définie de deux manières :
DTD interne
interne : la grammaire est incorporée au sein même du
DTD externe
document;
Déclarer les
éléments
externe : la DTD est un fichier à part. Elle est appelée
Indicateurs
depuis le document XML.
d’occurence
Le stockage externe de la DTD permet de la partager
Déclarer les
attributs entre différents documents XML.
Limites des DTD
On peut mêler DTD interne et externe.
DTD (Document
Type Definition)
DTD externe Les déclarations d’une DTD interne sont écrites juste
Déclarer les après le prologue du document XML.
éléments
Indicateurs
La spécification de la DTD sera dans l’entête du
d’occurence document XML.
Déclarer les
attributs Les déclarations doivent être faites dans l’ordre :
Limites des DTD mot-clé DOCTYPE;
élément racine du document;
contenu de la DTD elle-même, entre crochets.
DTD (Document
Type Definition)
DTD (Document
Type Definition)
Attention !
Introduction
Si la DTD est interne, il faut déclarer dans le prologue du
DTD interne
fichier XML standalone=“yes”.
DTD externe
Déclarer les
éléments Rappel
Indicateurs
d’occurence Dans le prologue du fichier XML, si :
Déclarer les
attributs
standalone=“yes”, le document est auto-contenu ⇒
Limites des DTD
la DTD est interne.
standalone=“no”, le document n’est pas auto-contenu
⇒ la DTD est externe. Déclaration par défaut;
DTD (Document
Type Definition)
Introduction
DTD interne
DTD externe
Déclarer les
Une DTD est un document texte avec l’extension .dtd,
éléments ce n’est pas un document XML ⇒ ne commence pas
Indicateurs
d’occurence
par une déclaration XML.
Déclarer les
attributs
DTD (Document
Type Definition)
Introduction
Les DTD externes peuvent être privées ou publiques.
DTD interne Les DTD privées sont :
DTD externe accessibles uniquement en local, sur la machine de
Déclarer les développement;
éléments
de type SYSTEM;
Indicateurs
d’occurence Les DTD publiques sont :
Déclarer les disponibles pour tout le monde, sur un serveur distant.
attributs
On y accède grâce à une URI (Uniform Resource
Limites des DTD
Identifier);
de type PUBLIC;
DTD (Document
Type Definition)
Introduction
Exemple de déclaration de DTD externe privée, à placer
DTD interne
DTD externe
dans le fichier XML après le prologue :
Déclarer les <!DOCTYPE bibliotheque SYSTEM ”bibliotheque.dtd”>
éléments
Indicateurs
d’occurence
Exemple de déclaration de DTD externe publique :
Déclarer les <!DOCTYPE html PUBLIC ”−//W3C//DTD XHTML 1.1//EN” ”http://
attributs www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
Limites des DTD
DTD (Document
Type Definition)
Introduction
DTD interne
DTD externe
Exemple de contenu pour le fichier “bibliotheque.dtd” :
Déclarer les <!ELEMENT bibliotheque (livre)∗>
éléments <!ELEMENT livre (titre, auteur)>
Indicateurs <!ELEMENT titre (#PCDATA)>
d’occurence <!ELEMENT auteur (#PCDATA)>
Déclarer les
attributs
DTD (Document
Type Definition) Modèle de déclaration d’un élément dans une DTD :
<!ELEMENT nom contenu element>
Introduction
DTD interne
DTD externe
nom : nom de l’élément ⇒ nom d’une balise dans le
Déclarer les
fichier XML associé;
éléments
contenu element : type auquel il est associé. Les
Indicateurs
d’occurence valeurs possibles sont :
Déclarer les texte ⇒ (#PCDATA)
attributs
vide ⇒ EMPTY
Limites des DTD séquence d’éléments ⇒ (elt1, elt2, elt3, ...)
choix d’éléments ⇒ (elt1 | elt2 | elt3 | ...)
libre ⇒ ANY
mixte ⇒ mélange de texte et d’éléments (enfants)
DTD (Document
Type Definition) <!ELEMENT nom (#PCDATA)>
Introduction
Cet élément doit contenir du texte.
DTD interne
DTD externe
Recommandation
Déclarer les
éléments Pour éviter les éventuelles erreurs du parseur, mieux vaut
Indicateurs mettre le mot clé #PCDATA entre parenthèses.
d’occurence
Déclarer les
attributs
Exemple d’utilisation :
Limites des DTD <!ELEMENT titre (#PCDATA)>
DTD (Document
Type Definition)
DTD (Document
Type Definition)
Introduction
DTD interne
Remarque
DTD externe
Déclarer les Un élément vide peut tout à fait posséder des attributs. Par
éléments
exemple :
Indicateurs
d’occurence <img width=”50” height”50” src=”image1.jsp” />
Déclarer les
attributs
DTD (Document
Type Definition)
DTD interne
DTD (Document
Type Definition)
Introduction
Déclarer les
Les éléments enfants doivent apparaı̂tre dans le fichier
attributs XML dans l’ordre de déclaration de la séquence.
Limites des DTD
DTD (Document
Type Definition)
Exemple d’utilisation :
Introduction <!ELEMENT auteur (nom, prenom)>
DTD interne
DTD externe
Se traduira par exemple dans le document XML :
Déclarer les <auteur>
éléments <nom>Jules</nom>
Indicateurs <prenom>Dupond</prenom>
d’occurence </auteur>
Déclarer les
attributs
Exemple invalide :
Limites des DTD
<auteur>
<prenom>Dupond</prenom>
</auteur>
DTD (Document
Type Definition)
<!ELEMENT pere (fils1 | fils2 )>
Introduction
DTD interne Un choix d’éléments permet de définir dans une liste les
DTD externe éléments enfants possibles.
Déclarer les
éléments
L’utilisation précise dépend des indicateurs d’occurence
Indicateurs (abordés plus loin).
d’occurence
Déclarer les
Les éléments enfants sont placés entre parenthèses et
attributs séparés par des “|”.
Limites des DTD
Attention
Chaque élément enfant doit être déclaré dans la DTD.
DTD (Document
Type Definition)
DTD (Document
Type Definition)
Introduction
DTD interne
Pour les séquences, les choix d’éléments et les éléments
DTD externe
à contenu mixte, la notion d’indicateurs d’occurence est
Déclarer les mentionnée.
éléments
Ces indicateurs permettent de définir les éléments XML
Indicateurs
d’occurence qu’un élément peut ou doit contenir.
Déclarer les
attributs Ils définissent des règles d’utilisation, grâce à une
Limites des DTD syntaxe spécifique.
DTD (Document
Type Definition)
Déclarer les
* : rien, un ou plusieurs (définition d’une option)
éléments
| : l’un ou l’autre mais pas les deux
Indicateurs
d’occurence , : obligatoires (dans l’ordre)
Déclarer les
attributs ( ) : regroupement ⇒ les parenthèses permettent de
Limites des DTD regrouper les éléments pour leur appliquer les autres
opérateurs
DTD (Document
Type Definition)
Limites des DTD A,B : l’élément A doit être présent, suivi de l’élément B
(obligatoire également)
(A,B)+ : un ou plusieurs (A suivi de B)
DTD (Document
Type Definition)
Introduction
DTD (Document
Type Definition) type attribut : type de donnée de l’attribut :
CDATA ⇒ on affecte une chaı̂ne de caractères à
Introduction l’attribut
DTD interne énumération
DTD externe on définit une liste de valeurs possibles pour l’attribut
Déclarer les (permet de limiter le choix de l’utilisateur) ⇒ (Choix1
éléments | Choix2 | ...)
Indicateurs pour définir une valeur par défaut il faut faire suivre
d’occurence
l’énumération par la valeur désirée entre guillemets ⇒
Déclarer les
attributs
(Choix1 | Choix2 | ...) “valeur par défaut”
Limites des DTD NMTOKEN ⇒ nom XML, sans restriction sur le
premier caractère (chiffre autorisé). Exemple : utile
pour déclarer un code postal.
NMTOKENS ⇒ liste de noms XML, séparés par des
espaces (suite de NMTOKEN séparés par des espaces)
DTD (Document
Type Definition)
ENTITY ⇒ nom d’entité non XML
ENTITIES ⇒ liste de noms d’entités non XML,
Introduction
séparés par des espace (suite de ENTITY, séparés par
DTD interne
des espaces))
DTD externe ID ⇒ on définit un identifiant unique pour chaque
Déclarer les
éléments
élément
IDREF(S) ⇒ renvoi vers un (des) ID utilisé(s) ailleurs
Indicateurs
d’occurence dans le document
Déclarer les
attributs
Attention
Limites des DTD
Un ID ne peut être que #REQUIRED ou #IMPLIED.
Un élément ne peut disposer au maximum que d’un seul
attribut ID.
DTD (Document
Type Definition)
Introduction
DTD interne
mode : précisions sur le type d’attribut :
DTD externe
#IMPLIED ⇒ attribut facultatif
Déclarer les
éléments #REQUIRED ⇒ attribut obligatoire
Indicateurs #FIXED valeur ⇒ attribut à valeur fixe (la valeur est
d’occurence
déjà fixée dans la DTD)
Déclarer les
attributs
#DEFAULT valeur ⇒ valeur par défaut
Limites des DTD
DTD (Document
Type Definition)
Déclarer les
éléments L’élément date est du texte.
Indicateurs
d’occurence
Cet élément dispose d’un attribut format obligatoire, ne
Déclarer les pouvant prendre que la valeur EN ou FR.
attributs
DTD (Document
Type Definition)
Introduction
DTD interne
DTD externe
Exemple de fraction d’une DTD
Déclarer les <!ELEMENT auteur (#PCDATA)>
éléments <!ATTLIST auteur numero ID #REQUIRED>
Indicateurs <!ELEMENT livre (#PCDATA)>
d’occurence <!ATTLIST livre reference IDREF #REQUIRED>
Déclarer les
attributs
DTD (Document
Type Definition)
Introduction
DTD (Document
Type Definition)
DTD (Document
Type Definition)
Le nombre d’apparitions d’un élément ne peut pas être
contraint précisément. On ne dispose que des
Introduction
quantifieurs ?, * et +.On ne peut pas dire qu’un
DTD interne
DTD externe
élément doit apparaı̂tre plus de 3 fois mais toujours
Déclarer les
moins de 7.
éléments
On ne dispose pas de possibilité pour typer les contenus
Indicateurs
d’occurence des éléments.
Déclarer les
attributs
On ne dispose que d’un typage faible pour les valeurs
Limites des DTD des attributs.
On ne peut pas contraindre la forme de ces contenus
(par exemple, entre 5 et 20 caractères, contenant un
signe @, ...).
DTD (Document
Type Definition)
Introduction
DTD interne
Il n’est pas possible de typer les références (elles
DTD externe
peuvent référencer n’importe quel identifiant du
Déclarer les
éléments document).
Indicateurs
d’occurence Pour pallier ces manques, d’autres propositions ont été
Déclarer les faites, permettant de spécifier un langage XML de manière
attributs
plus précise. Par exemple : XML Schema et Relax NG.
Limites des DTD