up:: [[DTD]]
#s/informatique 
# Déclaration des éléments
```dtd
```
`DEF-CONTENU` peut être :
- `EMPTY` : contenu vide
- `ANY` : 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
```dtd
```
```dtd
```
# Déclaration de liste d'attributs
```dtd
```
- TYPE peut être :
    - `CDATA` : du texte
    - `ID` : un identifiant unique **dans tout le document**
    - `IDREF` : une référence vers un ID 
    - `IDREFS` : une liste de références vers des ID
    - `NMTOKEN` : un mot 
    - `NMTOKENs` : 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
```dtd
    
        Mme. Markov
    
    
        Introduction
        Présentation générale de XML
    
```
### Exemple 2
```dtd
```
# Déclaration d'entités
Les entités permettent de définir des remplacements de préprocesseur.
```dtd
```
- on utilise ensuite `&nomEntite;` qui sera remplacé par `remplacement`
## Exemple
```dtd
```
```xml
 &chap1; &chap2; &chap3; 
```