3. Déclaration d'attributs
La déclaration d'attributs permet la spécification des
attributs qui pourront/devront être associés à une
instance d'élément, et éventuellement de leurs valeurs
par défaut : <!ATTLIST nom_d'élément nom_attribut
type_attribut par_défaut>
Voici un exemple : <!ELEMENT
exercice (#PCDATA)>
<!ATTLIST exercice xml:lang NMTOKEN
#IMPLIED>
<!ATTLIST exercice formation CDATA #REQUIRED>
<!ATTLIST exercice niveau (* | ** | ***) '*'>
Le défaut
d'un attribut peut être une valeur, ou un parmi
- '#REQUIRED' : l'inclusion de l'attribut ainsi que d'une valeur sont
obligatoires dans chaque instance de l'élément; il n'y a
pas de valeur par défaut - par exemple, l'attribut 'alt', qui en
XHTML est un atribut requis dans tout instance de l'élément
'img' ;
- '#IMPLIED' : inclusion facultative; il n'y a pas de valeur par défaut
;
- '#FIXED' : l'attribut prend toujours la même valeur, et ça
dans toute instance de l'élément. (L'attribut 'niveau' dans
l'exemple ci-dessus est un exemple d'un attribut énuméré,
qui peut prendre (seulement) l'une des valeurs indiquées dans la
liste.)
On distingue les types d'attribut suivants :
- CDATA - character data, c.a.d. des chaînes alphanumériques.
- NMTOKEN - name token ; ressemble à un nom XML, mais les 'name tokens' peuvent commencer par . ou un chiffre.
- NMTOKENS - un ou plusieurs 'name tokens', séparés par des blancs.
- ENUMERATION - liste des valeurs possibles.
- ID - un nom XML, unique à l'intérieur du document.
- IDREF - la valeur d'un attribut type ID d'un autre élément dans le document.
- IDREFS - liste d'IDREFs, séparés par des blancs.
- ENTITY - référence à une entité définie autre part dans la DTD.
- ENTITIES - liste d'ENTITYs, séparés par des blancs.
- NOTATION