Atributos de tipo IDREFS en DTD
En una DTD, los atributos declarados IDREFS son aquellos cuyo valor puede ser una lista de valores que existan en otros atributos ID del documento XML.
EJEMPLO En la DTD del siguiente documento XML, se indica que el valor del atributo filmografia de un elemento "director", puede ser una lista de valores de atributos ID. En este caso, una lista de valores escritos en el atributo codpel de los elementos "pelicula" que aparezcan en el documento XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cine [
<!ELEMENT cine (peliculas, directores)>
<!ELEMENT peliculas (pelicula)*>
<!ELEMENT pelicula (#PCDATA)>
<!ATTLIST pelicula codpel ID #REQUIRED>
<!ELEMENT directores (director)*>
<!ELEMENT director (#PCDATA)>
<!ATTLIST director filmografia IDREFS #REQUIRED>
]>
<cine>
<peliculas>
<pelicula codpel="P1">Avatar</pelicula>
<pelicula codpel="P2">Mystic River</pelicula>
<pelicula codpel="P3">The Terminator</pelicula>
<pelicula codpel="P4">Titanic</pelicula>
</peliculas>
<directores>
<director filmografia="P2">Clint Eastwood</director>
<director filmografia="P1 P3 P4">James Cameron</director>
</directores>
</cine>
- Obsérvese que, los valores de la lista de valores de un atributo IDREFS, se escriben separados por un espacio en blanco.