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
16 janvier 2014
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)
<?xml version="1.0" encoding="ISO-8859-1" standalone=
"yes"?>
Introduction <!DOCTYPE bibliotheque[
DTD interne <!ELEMENT bibliotheque (livre)*>
DTD externe <!ELEMENT livre (titre, auteur)>
Déclarer les <!ELEMENT titre (#PCDATA)>
éléments
<!ELEMENT auteur (#PCDATA)>
Indicateurs
d’occurence ]>
Déclarer les <bibliotheque>
attributs <livre>
Limites des DTD <titre>XML : Cours et exercices</titre>
<auteur>Alexandre Brillant</auteur>
</livre>
</bibliotheque>
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 dans
DTD interne
le fichier XML après le prologue :
DTD externe
DTD (Document
Type Definition)
Introduction
DTD interne
Exemple de contenu pour le fichier “bibliotheque.dtd” :
DTD externe
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 (Document
Type Definition) <!ELEMENT nom (#PCDATA)>
Introduction
Cet élément doit contenir du texte.
DTD interne
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)
Introduction
<!ELEMENT pere (fils1, fils2)>
DTD interne
Indicateurs
enfants de l’élément principal que l’on définit ici.
d’occurence
Cet élément principal ne pourra contenir aucun autre
Déclarer les
attributs élément que ceux déclarés dans la séquence.
Limites des DTD Les éléments enfants sont placés entre parenthèses et
séparés par des virgules.
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 :
<!ELEMENT auteur (nom, prenom)>
Introduction
Déclarer les
<auteur>
éléments <nom>Jules</nom>
Indicateurs <prenom>Dupond</prenom>
d’occurence
</auteur>
Déclarer les
attributs
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)
L’élément à contenu mixte est une liste de choix, avec
Introduction
des indicateurs d’occurence bien sélectionnés.
DTD interne Il peut contenir aussi bien du texte que des éléments
DTD externe enfants.
Déclarer les
éléments Exemple de déclaration :
Indicateurs
d’occurence <!ELEMENT identite (#PCDATA | nom)*>
Déclarer les
attributs
Exemple d’utilisation de cette déclaration :
Limites des DTD
<identite>
M. <nom>Dupond</nom>
<identite>
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
Modèle de déclaration d’un attribut dans une DTD :
DTD interne
Indicateurs
d’occurence nom element : nom de l’élément auquel cet attribut
Déclarer les appartient ;
attributs
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
éléments
(permet de limiter le choix de l’utilisateur) ⇒ (Choix1
| Choix2 | ...)
Indicateurs
d’occurence pour définir une valeur par défaut il faut faire suivre
Déclarer les
l’énumération par la valeur désirée entre guillemets ⇒
attributs (Choix1 | Choix2 | ...) “valeur par défaut”
Limites des DTD NMTOKEN ⇒ un mot, donc pas de blanc (chiffre
autorisé). Exemple : utile pour déclarer un code postal.
NMTOKENS ⇒ liste de mots, 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
Exemple de fraction d’une DTD
DTD externe
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)
Déclarer les
<auteur numero="a1">Thierry Boulanger</auteur>
éléments <auteur numero="a2">Alexandre Brillant</auteur>
Indicateurs <livre reference="a1">XML par la pratique - Bases
d’occurence
indispensables, concepts et cas pratiques</livre>
Déclarer les
attributs
<livre reference="a2">XML : Cours et exercices</livre
Limites des DTD
>
DTD (Document
Type Definition)
Un élément peut posséder plusieurs attributs.
Tous les attributs propres à un élément sont déclarés
Introduction
DTD interne
dans la même instruction
DTD externe Exemple de déclaration XML :
Déclarer les
éléments <livre titre="Les DTD" genre="Technique" pages="60"
Indicateurs />
d’occurence
Déclarer les
attributs
Exemple de fraction de DTD pouvant correspondre à la
Limites des DTD déclaration de ces attributs :
<!ATTLIST livre titre CDATA #REQUIRED
genre (Technique | Roman | Documentaire) "Roman"
pages CDATA #IMPLIED>
DTD (Document
Type Definition)
Déclarer les
On ne dispose que d’un typage faible pour les valeurs
attributs des attributs.
Limites des DTD
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