| data type
| |
| (value | ... | value) | enumerated type; one value is to be chosen |
| CDATA | character data |
| ID | unique identifier; at most one per element |
| IDREF | reference to an id |
| IDREFS | space separated list of references to ids |
| NMTOKEN | name token; like ID but need not be unique (e.g., class name) |
| NMTOKENS | separated list of name tokens |
| ENTITY | name of an entity |
| ENTITIES | space separated list of entity names |
| NOTATION (name | ... | name) | foreign data |
| xml: | predefined xml name |
| default value
| |
| "value" | assumed value, if none supplied in the document |
| #IMPLIED | value can be supplied but not required |
| #REQUIRED | value must be specified in the document |
| #FIXED "value" | only allowed value |
<!ELEMENT person (name)+ >
<!ELEMENT name (#PCDATA) > <!ATTLIST person ssn ID #REQUIRED spouse IDREF #IMPLIED friends IDREFS #IMPLIED profession NMTOKEN "student" employer CDATA #FIXED "osu" > <!ATTLIST name type (first | middle | last) #IMPLIED > |