Aide mémoire sur les DTD
Par Marc Hoang d'Ornano le samedi 10 mars 2007, 13:15 - Technique - Lien permanent
Histoire de se rafraichir la mémoire après quelques années, un petit memento sur les DTD.
Mettre standalone="yes" dans l'entête xml permet déjà de ne pas utiliser de dtd (pas recommandé).
Déclaration d'élément:
<!ELEMENT nom_élément (contenu)>
contenu peut être:
Déclaration d'attribut:
<!ATTLIST nom_élément nom_attribut type_attribut valeur>
valeur:
Déclaration d'entité:
<!ENTITY nom_entite chaine>
On affiche ensuite la chaîne en appelant &nom_entite;
Mettre standalone="yes" dans l'entête xml permet déjà de ne pas utiliser de dtd (pas recommandé).
Déclaration d'élément:
<!ELEMENT nom_élément (contenu)>
contenu peut être:
- #PCDATA : n'importe quoi sauf un sous élément
- elt1, elt2, ... : une suite de sous éléments ordonnée
- un mix des deux précédents séparés par des |
- EMPTY : pas de contenu ni de sous-éléments (ex: balise img en HTML)
- ANY : n'importe quoi
- +: 1..n occurences
- ?: 0..1 occurence
- *: 0..n occurences
- aucun: 1 et 1 seule occurence
Déclaration d'attribut:
<!ATTLIST nom_élément nom_attribut type_attribut valeur>
valeur:
- #IMPLIED : optionnel
- #REQUIRED : obligatoire
- #FIXED : valeur fixe et non modifiable
- littéral : la valeur par défaut entre guillemets
- CDATA : chaîne de caractères
- NMTOKEN : alphanumérique + ", : . - _ "
- NMTOKENS : NMTOKEN séparés par des espaces
- Enumération: liste des valeurs possibles
- ID: alphanumérique unique. Commence par un caractère ou _
- IDREF: chaîne de caractères référençant un ID
- IDREFS: liste d'IDREF
- ENTITY: entité non analysée
- ENTITIES : liste d'ENTITY
- NOTATION: référence une notation système
Déclaration d'entité:
<!ENTITY nom_entite chaine>
On affiche ensuite la chaîne en appelant &nom_entite;