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