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="zyiz-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>