Definir un atributo obligatorio en XML
Cuando estamos creando nuestras definiciones de tipo de documento o DTD para el uso de los ficheros XML podemos tratar de definir un atributo obligatorio en XML. La idea es definir un atributo que siempre tenga que aparecer en el elemento. Lo primero será tener un elemento. En este caso un elemento sin contenido:
<!ELEMENT element-name EMPTY>Por ejemplo vamos a definir el elemento persona:
<!ELEMENT persona EMPTY>Lo siguiente será definir el atributo, por ejemplo el número de la persona. En este caso utilizamos la definición ATTLIST que tiene la siguiente estructura:
<!ATTLIST element-name attribute-name attribute-type>Así tendremos el atributo número de la persona definido de la siguiente forma:
<!ATTLIST persona numero CDATA>Si lo que queremos es definir un atributo obligatorio en XML deberemos de añadirle la cláusula #REQUIRED. Ahora la estructura sería:
<!ATTLIST element-name attribute-name attribute-type #REQUIRED>Y nuestro elemento persona con el atributo número de persona obligatorio se escribiría:
<!ATTLIST persona numero CDATA #REQUIRED>Cuando estemos definiendo nuestro documento XML atendiendo a este DTD que tiene un atributo obligatorio veremos que será un documento XML válido:
<persona numero="5677"></persona>Y será un documento XML invalido:
<persona></persona>Ya hemos visto como definir un atributo obligatorio en XML mediante la cláusula #REQUIRED.
Descarga el código de Definir un atributo obligatorio en XML
Se explica cómo definir un atributo obligatorio en XML utilizando la cláusula #REQUIRED en un DTD.