Tutoriales de informática - Abrirllave.com

Abrirllave.com

Atributos de tipo enumerado en DTD

En una DTD, se puede declarar un atributo de tipo enumerado indicando que su valor puede ser uno de los pertenecientes a una lista de valores escritos entre paréntesis "()" y separados por el carácter "|".

EJEMPLO En la DTD del siguiente documento XML, los valores posibles del atributo pais son "ESP", "FRA", "ITA" y "ALE":

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE deportistas [
   <!ELEMENT deportistas (futbol | f1 | tenis)*>
   <!ELEMENT futbol (#PCDATA)>
   <!ELEMENT f1 (#PCDATA)>
      <!ATTLIST f1 pais (ESP | FRA | ITA | ALE) "ESP">
   <!ELEMENT tenis (#PCDATA)>
]>

<deportistas>
   <f1 pais="ALE">Sebastian Vettel</f1>
   <f1>Fernando Alonso</f1>
   <f1 pais="ESP">Carlos Sainz</f1>
   <tenis>Rafael Nadal</tenis>
</deportistas>

Al visualizar este documento en un navegador web, en pantalla se verá:

Visualización del archivo deportitas.xml con un atributo de tipo enumerado.

Si se quiere definir el atributo pais obligatorio, habría que escribir:

<!ATTLIST f1 pais (ESP | FRA | ITA | ALE) #REQUIRED>

Por tanto, para Fernando Alonso se tendría que escribir:

<f1 pais="ESP">Fernando Alonso</f1>