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