Les déclarations d'attributs correspondent à la forme générale :
<!ATTLIST nom-élément nom-attribut type-attribut déclaration-de-contrainte>
où :
nom-élément :
Nom de l'élément XML pour lequel les attributs déclarés seront applicables.
nom-attribut :
Nom de l'attribut, des éléments différents peuvent avoir des attributs de même nom sans qu'il y ait de confusion possible car un attribut est toujours déclaré en même temps que l'élément auquel il est attaché.
type-attribut :
Les deux types principaux sont :
CDATA
L'attribut aura pour valeur une chaîne de caractères.
Liste de choix
Une liste de noms symboliques correspondant aux valeurs possibles pour l'attribut et se présentant sous la forme : (choix1 | choix2 | ... | choixN)
.
déclaration-de-contrainte :
Les deux formes principales de contrainte sont :
#REQUIRED
L'attribut est obligatoire.
#IMPLIED
L'attribut est facultatif.
<!ELEMENT x EMPTY>
<!ATTLIST x
att1 CDATA #REQUIRED
att2 (a | b | c) #IMPLIED
>