Вот пример дополнения правильного ответа @Per Norrman (+1) и пример, который вы использовали в своем вопросе.
<!DOCTYPE tag [
<!ELEMENT tag EMPTY>
<!ATTLIST tag
attr NMTOKENS #IMPLIED>
]>
<tag attr=" a b "/>
эквивалентно
<!DOCTYPE tag [
<!ELEMENT tag EMPTY>
<!ATTLIST tag
attr NMTOKENS #IMPLIED>
]>
<tag attr="a b"/>
, потому чтотип атрибута attr
равен NMTOKENS
(множественное число).
Однако следующее не будет эквивалентно примеру NMTOKEN
, поскольку attr
является буквенным текстом (CDATA = символьные данные):
<!DOCTYPE tag [
<!ELEMENT tag EMPTY>
<!ATTLIST tag
attr CDATA #IMPLIED>
]>
<tag attr=" a b "/>
Это потому, что тип атрибута attr
- это CDATA.