如果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"/>
