DTD示例11
ID
類型屬性的值只能包含NMTOKEN
允許的字符,並且必須以字母開頭。沒有元素類型可能指定了多個ID
屬性。 ID
屬性的值在所有ID
屬性的所有值之間必須是唯一的。
DTD聲明
屬性id
,code
和X
唯一地確定它們的元素:
<!ELEMENT XXX (AAA+ , BBB+ , CCC+)>
<!ELEMENT AAA (#PCDATA)>
<!ELEMENT BBB (#PCDATA)>
<!ELEMENT CCC (#PCDATA)>
<!ATTLIST AAA
id ID #REQUIRED>
<!ATTLIST BBB
code ID #IMPLIED
list NMTOKEN #IMPLIED>
<!ATTLIST CCC
X ID #REQUIRED
Y NMTOKEN #IMPLIED>
有效文檔
所有ID值都是唯一的:
<!DOCTYPE XXX SYSTEM "tutorial.dtd">
<XXX>
<AAA id="a1"/>
<AAA id="a2"/>
<AAA id="a3"/>
<BBB code="Yiibai-1223-142-6" list="14:5"/>
<CCC X="zero" Y="16" />
</XXX>
屬性列表和Y
的類型爲NMTOKEN
而不是ID
。 因此,它們可以具有與ID
屬性相同的值,或者在多個元素中具有相同的值:
<!DOCTYPE XXX SYSTEM "tutorial.dtd">
<XXX>
<AAA id="L12"/>
<BBB code="QW" list="L12"/>
<CCC X="x-0" Y="QW" />
<CCC X="x-1" Y="QW" />
</XXX>
無效的文檔
ID
屬性不能以數字開頭或包含NMTOKEN
中不允許的字符:
<!DOCTYPE XXX SYSTEM "tutorial.dtd">
<XXX>
<AAA id="L12"/>
<BBB code="#QW" list="L12"/>
<CCC X="12" Y="QW" />
</XXX>
ID
屬性必須具有唯一值:
<!DOCTYPE XXX SYSTEM "tutorial.dtd">
<XXX>
<AAA id="L12"/>
<BBB code="QW" list="L12"/>
<CCC X="ZA" Y="QW" />
<CCC X="ZA" Y="QW" />
</XXX>
ID
屬性必須具有唯一值。 id
和X
都是ID
類型:
<!DOCTYPE XXX SYSTEM "tutorial.dtd">
<XXX>
<AAA id="L12"/>
<BBB code="QW" list="L12"/>
<CCC X="L12" Y="QW" />
</XXX>