Elementos vacíos en una DTD - EMPTY
Para declarar un elemento vacío en una DTD, hay que indicar que su contenido es EMPTY. Un ejemplo de ello podría ser el elemento "br" del HTML, el cual sirve para hacer un salto de línea y no tiene contenido:
<!ELEMENT br EMPTY>
Dada la declaración anterior, en un documento XML el elemento "br" podría escribirse como:
<br/>
O también:
<br></br>
Por ejemplo, el siguiente documento XML sería válido:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE etiquetas_html [
<!ELEMENT etiquetas_html (br)>
<!ELEMENT br EMPTY>
]>
<etiquetas_html>
<br/>
</etiquetas_html>
Un elemento vacío puede tener atributos
EJEMPLO Aunque un elemento se declare vacío, no pudiendo contener texto ni otros elementos, sí puede tener atributos:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE etiquetas_html [
<!ELEMENT etiquetas_html (br)>
<!ELEMENT br EMPTY>
<!ATTLIST br descripcion CDATA #REQUIRED>
]>
<etiquetas_html>
<br descripcion="Salto de línea"/>
</etiquetas_html>
- En este ejemplo, para el elemento "br" se ha declarado el atributo descripcion de tipo CDATA (Character DATA), es decir, su valor puede ser una cadena de caracteres. Además, se ha indicado que el atributo es obligatorio escribirlo, #REQUIRED.