NMTOKEN permet d'affecter un nom symbolique à l'attribut tel qu'un format de date, un format de fichier ou encore une abréviation.

NMTOKENS offre la possibilité à la valeur de l'attribut de comporter plusieurs noms symboliques séparés par des espaces blancs.

Les tokens sont utilisés dans l'énumération des signes des langages ou des jeux de mots clés qui satisfont ces restrictions dans la DTD.

Chaque nom symbolique ne peut être constitué que de caractères autorisés par XML, c'est-à-dire, des lettres, des chiffres, des soulignés (_), des tirets (-), des points (.) et des deux points (:).

Exemple :
<!ATTLIST fichier xml:lang NMTOKEN #REQUIRED 'fr'>

<!ATTLIST fichier type NMTOKENS #REQUIRED>

<!ELEMENT date EMPTY>
<!ATTLIST date année NMTOKEN #REQUIRED
                mois NMTOKEN #REQUIRED
                jour NMTOKEN #REQUIRED>

<?xml version="1.0" standalone="yes"?>
<!DOCTYPE gestionnaire [
  <!ELEMENT gestionnaire (répertoire)>
  <!ELEMENT répertoire (#PCDATA)>
  <!ATTLIST répertoire fichier NMTOKEN #REQUIRED>
]>
<gestionnaire>
  <répertoire fichier="index.htm">
  Ce fichier représente la page d'accueil de ce répertoire
  </répertoire>
</gestionnaire>

<?xml version="1.0" standalone="yes"?>
<!DOCTYPE France [
  <!ELEMENT France (région)>
  <!ELEMENT région (#PCDATA)>
  <!ATTLIST région département NMTOKENS #REQUIRED>
]>
<France>
  <région département="14 50 61">
  Basse-Normandie
  </région>
  <région département="04 05 06 13 83 84">
  Provence-Alpes-Côte d'Azur
  </région>
  <région département="75 77 78 91 92 93 94 95">
  Région Ile-de-France
  </région>
...
</France>