Das AttributeDef-Namenselement beschreibt die Definition eines Attributs in einem <!ATTLIST-Konstrukt. Es ist stets dem AttributeList-Element untergeordnet. Der Name des Syntaxelements entspricht dem Namen des Attributs, das definiert wird. Es kann drei untergeordnete Elemente haben:
Das nachfolgende Beispiel ist im DTD-Beispiel enthalten:
<!ATTLIST el5 el5satt CDATA #IMPLIED>
Der Name des AttributeDef-Elements ist el5satt, es ist dem AttributeList-Element el5 untergeordnet. Der Name des AttributeDefType-Elements ist CDATA, der Wert des AttributeDefDefaultType-Elements ist IMPLIED.