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