如果CDATA类型的属性符合良好形成约束,则它可以包含任何字符。 NMTOKEN类型只能包含字母,数字和点.,连字符-,下划线_和冒号:。 NMTOKENS可以包含与NMTOKEN加上空格相同的字符。 空格由一个或多个空格字符,回车符,换行符或制表符组成。
DTD声明
必须始终存在属性bbb和ccc,属性aaa是可选的:
<!ELEMENT attributes (#PCDATA)>
<!ATTLIST attributes
aaa CDATA #IMPLIED
bbb NMTOKEN #REQUIRED
ccc NMTOKENS #REQUIRED>
有效的文档
存在所有必需属性,其值的类型正确:
<!DOCTYPE attributes SYSTEM tutorial.dtd>
<attributes aaa=#d1 bbb=a1:12 ccc= 3.4 div -4/>
示例代码2 -
<!DOCTYPE attributes SYSTEM tutorial.dtd>
<attributes bbb=a1:12
ccc=3.4
div
-4/>
无效文档
NMTOKEN和NMTOKENS类型的属性中不允许使用字符#:
<!DOCTYPE attributes SYSTEM tutorial.dtd>
<attributes aaa=#d1 bbb=#d1 ccc=#d1/>
NMTOKEN类型的属性中禁止使用空格字符:
<!DOCTYPE attributes SYSTEM tutorial.dtd>
<attributes bbb=A B C ccc=A B C/>
