Tutoriales de informática - Abrirllave.com

Abrirllave.com

Atributos de tipo IDREF en DTD

En una DTD, los atributos declarados IDREF son aquellos cuyo valor tiene que existir en otro atributo ID del documento XML.

EJEMPLO En la DTD del siguiente documento XML, se indica que los elementos "pelicula" que se escriban, deben incluir el atributo direccion, cuyo valor estará asignado a un atributo ID de otro elemento del documento. En este caso, el valor estará asignado a un atributo coddir de un elemento "director":

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cine [
   <!ELEMENT cine (directores, peliculas)>
   <!ELEMENT directores (director)*>
      <!ELEMENT director (#PCDATA)>
         <!ATTLIST director coddir ID #REQUIRED>
   <!ELEMENT peliculas (pelicula)*>
      <!ELEMENT pelicula (#PCDATA)>
         <!ATTLIST pelicula direccion IDREF #REQUIRED>
]>

<cine>
   <directores>
      <director coddir="CE">Clint Eastwood</director>
      <director coddir="JC">James Cameron</director>
   </directores>
   <peliculas>
      <pelicula direccion="JC">Avatar</pelicula>
      <pelicula direccion="CE">Mystic River</pelicula>
      <pelicula direccion="JC">Titanic</pelicula>
   </peliculas>
</cine>