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>