English | >> česky << | Español | По-русски | Français | Italiano | Deutsch | MagyarZVON > Tutorials > DTD Tutorial
>> Příklad 11 << | Předešlý | Následující | Obsah

Popis

Hodnota atributu, který je typu ID, může obsahovat pouze znaky dovolené pro typ NMTOKEN a navíc musí začínat písmenem. Žádný element nemůže mít více než jeden atribut typu ID. Hodnota atributu typu ID musí být jedinečná (tj. nesmí existovat dva atributy typu ID, které by měly stejnou hodnotu).

DTD


Atributy id, code a X jednoznačně určují jejich elementy:

<!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>

Validní dokumentyNahoru


Všechny hodnoty atributů typu ID jsou jedinečné :

 <!DOCTYPE XXX SYSTEM "tutorial.dtd">

<XXX>
   <AAA id="a1"/>
   <AAA id="a2"/>
   <AAA id="a3"/>
   <BBB code="QWQ-123-14-6" list="14:5"/>
   <CCC X="zero" Y="16" />
</XXX>

Atributy list a Y jsou typu NMTOKEN, ne ID. Tudíž mohou mít stejnou hodnotu jako atributy typu ID nebo mohou mít tu samou hodnotu u stejných elementů :

 <!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>

Nevalidní dokumentyNahoru


Atribut typu ID nesmí začínat číslem nebo obsahovat znak nedovolený v NMTOKEN:

 <!DOCTYPE XXX SYSTEM "tutorial.dtd">

<XXX>
   <AAA id="L12"/>
   <BBB code="#QW" list="L12"/>
   <CCC X="12" Y="QW" />
</XXX>

Atribut typu ID musí mít jedinečnou hodnotu:

 <!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>

Atribut typu ID musí mít jedinečnou hodnotu. Jak id tak X jsou typu ID:

 <!DOCTYPE XXX SYSTEM "tutorial.dtd">

<XXX>
   <AAA id="L12"/>
   <BBB code="QW" list="L12"/>
   <CCC X="L12" Y="QW" />
</XXX>