DTD示例10

如果CDATA类型的属性符合良好形成约束,则它可以包含任何字符。 NMTOKEN类型只能包含字母,数字和点.,连字符-,下划线_和冒号:NMTOKENS可以包含与NMTOKEN加上空格相同的字符。 空格由一个或多个空格字符,回车符,换行符或制表符组成。

DTD声明

必须始终存在属性bbbccc,属性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/>

无效文档

NMTOKENNMTOKENS类型的属性中不允许使用字符#

<!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/>