English | česky | Español | По-русски | >> Français << | Italiano | Deutsch | MagyarZVON > Tutorials > DTD Tutorial
>> Exemple 12 << | Précédent | Suivant | Contenu

Description

La valeur de l'attribut IDREF doit correspondre à celle de l'un des attributs ID présents dans le document. La valeur de l'attribut IDREFS peut contenir plusieurs références à des éléments comportant un attribut ID en les séparant par des espaces blancs.

DTD


Les attributs id et mark identifient de manière unique leur élément. Les attributs ref font référence à ces éléments:

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

Documents bien formésDébut


Toutes les valeurs des attributs ID sont uniques et tous les attributs IDREF et IDREFS pointent vers des éléments comportant des attributs ID appropriés:

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

Documents erronésDébut


Il n'y a aucun attribut ID ayant a3 ou b001 comme valeur:

 <!DOCTYPE XXX SYSTEM "tutorial.dtd">

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

L'attribut ref de l'élément CCC est de type IDREF. Il ne peut contenir qu'une seule référence:

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