DTD Attribute Types - NMTOKEN
The attribute type of NMTOKEN restricts the attribute's value to one that is a valid XML name. That means the value must only contain digits, letters, and underscores, and they must begin with a letter or underscore. Note that they can't contain spaces.
Syntax:
<!ATTLIST element_name
attribute_name NMTOKEN default_value>
Example:
<!ATTLIST tutorial
published NMTOKEN #REQUIRED>
Valid XML - The following XML document would be valid, as it conforms to the above DTD:
<mountains>
<mountain country="NZ">
<name>Mount Cook</name>
</mountain>
<mountain country="AU">
<name>Cradle Mountain</name>
</mountain>
</mountains>
Invalid XML - The following XML document would be invalid because the value of the first attribute contains a space:
<mountains>
<mountain country="New Zealand">
<name>Mount Cook</name>
</mountain>
<mountain country="Australia">
<name>Cradle Mountain</name>
</mountain>
</mountains>
