DTD示例13

允许属性值可以在DTD中定义。

DTD声明

下面DTD声明精确地指出允许的值:

<!ELEMENT XXX (AAA+, BBB+)>
<!ELEMENT AAA (#PCDATA)>
<!ELEMENT BBB (#PCDATA)>
<!ATTLIST AAA 
         true ( yes | no ) #REQUIRED>
<!ATTLIST BBB 
   month (1|2|3|4|5|6|7|8|9|10|11|12) #IMPLIED>

有效的文档

所有值都以DTD给出:

<!DOCTYPE XXX SYSTEM tutorial.dtd>

<XXX>
   <AAA true=yes/>
   <AAA true=no/>
   <AAA true=yes/>
   <BBB month=8 />
   <BBB month=2 />
   <BBB month=12 />
</XXX>

有错误的文件

如下文档中,属性true不能具有值 - maybe,属性month不能具有值 - 16

<!DOCTYPE XXX SYSTEM tutorial.dtd>

<XXX>
   <AAA true=yes/>
   <AAA true=no/>
   <AAA true=maybe/>
   <BBB month=8 />
   <BBB month=2 />
   <BBB month=16 />
</XXX>