2.3 KiB
2.3 KiB
up:: DTD #informatique
Déclaration des éléments
<!ELEMENT unNom DEF-CONTENU>
DEF-CONTENU
peut être :
EMPTY
: contenu videANY
: peut contenir n'importe quel élément de la DTD(#PCDATA)
: contient du texte- une expression régulière sur les nom d'éléments
Exemples
<!ELEMENT cours (intervenant, plan?, commentaire*)>
<!ELEMENT interveneant (#PCDATA)>
<!ELEMENT plan (#PCDATA)>
<!ELEMENT commentaire (#PCDATA)>
<!ELEMENT personne ((nom, prenom) | nomComplet)>
<!ELEMENT nom (#PCDATA)>
<!ELEMENT prenom (#PCDATA)>
<!ELEMENT nomComplet (nom, prenom)>
Déclaration de liste d'attributs
<!ATTLIST unNomElement unNomAttribut TYPE OBLIGATION VALEUR-PAR-DEFAUT>
- TYPE peut être :
CDATA
: du texteID
: un identifiant unique dans tout le documentIDREF
: une référence vers un IDIDREFS
: une liste de références vers des IDNMTOKEN
: un motNMTOKENs
: une liste de mots- une énumération de valeurs séparées par des
|
- L'
OBLIGATION
ne concerne pas les énumérations suivies d'une valeur par défaut. Dans les autres cas, cela peut être :#REQUIRED
: obligatoire#IMPLIED
: optionnel#FIXED
: attribut toujours présent avec une valeur (sert pour imposer la déclaration d'un espace de noms)
- La
VALEUR-PAR-DEFAUT
permet de donner la valeur si aucune valeur n'est précisée
Exemples
Exemple 1
<!ELEMENT cours (intervenant, plan, commentaire*)>
<!ELEMENT cours
titre CDATA #REQUIRED
plan CDATA #IMPLIED
exemple valide :
<cours titre="données semi-structurées">
<intervenant>
Mme. Markov
</intervenant>
<plan>
Introduction
Présentation générale de XML
</plan>
Exemple 2
<!ELEMENT crayon EMPTY>
<!ELEMENT crayon
couleur (rouge|bleu) "bleu"
epaisseur CDATA #IMPLIED "8">
Déclaration d'entités
Les entités permettent de définir des remplacements de préprocesseur.
<!ENTITY nomEntite "remplacement">
- on utilise ensuite
&nomEntite;
qui sera remplacé parremplacement
Exemple
<!ENTITY chap1 "chap1.xml">
<!ENTITY chap2 "chap2.xml">
<!ENTITY chap3 "chap3.xml">
<livre> &chap1; &chap2; &chap3; </livre>