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

Popis

Hodnot atributu IDREF musí odpovídat hodnotě nějakého atributu typu ID v daném dokumentu. Hodnota atributu typu IDREFS může obsahovat několik odkazů na elementy, které mají atribut typu ID. Tyto odkazy jsou odděleny "white space" znaky.

DTD


Atributy id a mark určují jednoznačně jejich elementy. Atributy ref odkazují na tyto elementy:

<!ELEMENT XXX (AAA+ , BBB+, CCC+, DDD+)>
<!ELEMENT AAA (#PCDATA)>
<!ELEMENT BBB (#PCDATA)>
<!ELEMENT CCC (#PCDATA)>
<!ELEMENT DDD (#PCDATA)>
<!ATTLIST AAA 
      mark ID #REQUIRED>
<!ATTLIST BBB 
      id ID #REQUIRED>      
<!ATTLIST CCC 
      ref IDREF #REQUIRED>
<!ATTLIST DDD 
      ref IDREFS #REQUIRED>      

Validní dokumentyNahoru


Všechny ID hodnoty jsou jednoznačné a všechny IDREF a IDREFS ukazují na elementy s odpovídajícími ID:

 <!DOCTYPE XXX SYSTEM "tutorial.dtd">

<XXX>
   <AAA mark="a1"/>
   <AAA mark="a2"/>
   <AAA mark="a3"/>
   <BBB id="b001" />
   <CCC ref="a3" />
   <DDD ref="a1 b001 a2" />
</XXX>

Nevalidní dokumentyNahoru


Neexistuje žádný ID atribut s hodnotou a3 nebo b001:

 <!DOCTYPE XXX SYSTEM "tutorial.dtd">

<XXX>
   <AAA mark="a1"/>
   <AAA mark="a2"/>   
   <BBB id="b01" />
   <CCC ref="a3" />
   <DDD ref="a1 b001 a2" />
</XXX>

Atribut ref elementu CCC je typu IDREF. Může obsahovat jenom jeden odkaz:

 <!DOCTYPE XXX SYSTEM "tutorial.dtd">

<XXX>
   <AAA mark="a1"/>
   <AAA mark="a2"/>
   <AAA mark="a3"/>
   <BBB id="b001" />
   <CCC ref="a1 b001 a2" />
   <DDD ref="a1 b001 a2" />
</XXX>