English | česky | >> Español << | По-русски | Français | Italiano | Deutsch | MagyarZVON > Tutorials > DTD Tutorial
>> Ejemplo 12 << | Anterior | Siguiente | Contenidos

Descripción

El valor de un atributo IDREF tiene que corresponder con el valor de algún atributo ID del documento. El valor del atributo IDREFS puede contener varias referencias a elementos con atributos ID separados por espacios en blanco.

DTD


Los atributos id y mark determinan inequívocamente su elemento. Los atributos ref hacen referencia a estos elementos:

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

Documento válidoArriba


Todos los valores ID son únicos y todos los valores IDREF e IDREFS apuntan a elementos con IDs relevantes:

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

Documento con erroresArriba


No hay atributos ID con valor a3 ni 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>

El atributo ref en el elemento CCC es de tipo IDREF. Solo puede contener una referencia:

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