Tutoriales de informática - Abrirllave.com

Abrirllave.com

Elementos con cualquier contenido en una DTD - ANY

Cuando en una DTD se quiere declarar un elemento que pueda contener cualquier contenido –bien sea texto, otros elementos o una mezcla de ambos– esto se puede hacer indicando que su contenido es de tipo ANY:

<!ELEMENT cualquier_contenido ANY>

EJEMPLO En el siguiente documento XML, el elemento "cualquier_contenido" contiene tres elementos "texto":

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejemplo [
   <!ELEMENT ejemplo (cualquier_contenido)>
   <!ELEMENT cualquier_contenido ANY>
   <!ELEMENT texto (#PCDATA)>
]>

<ejemplo>
   <cualquier_contenido>
      <texto>Texto1</texto>
      <texto>Texto2</texto>
      <texto>Texto3</texto>
   </cualquier_contenido>
</ejemplo>

Fíjese que, definiendo la misma DTD, también sería válido el siguiente documento XML donde el elemento "cualquier_contenido" solo contiene texto:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejemplo [
   <!ELEMENT ejemplo (cualquier_contenido)>
   <!ELEMENT cualquier_contenido ANY>
   <!ELEMENT texto (#PCDATA)>
]>

<ejemplo>
   <cualquier_contenido>Texto1. Texto2. Texto3</cualquier_contenido>
</ejemplo>

Asimismo, el elemento "cualquier_contenido" podría contener una mezcla de texto y uno o más elementos.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejemplo [
   <!ELEMENT ejemplo (cualquier_contenido)>
   <!ELEMENT cualquier_contenido ANY>
   <!ELEMENT texto (#PCDATA)>
]>

<ejemplo>
   <cualquier_contenido>Texto1<texto>Texto2</texto>Texto3</cualquier_contenido>
</ejemplo>

Por otra parte, si el elemento "cualquier_contenido" estuviese vacío, el documento XML seguiría siendo válido:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejemplo [
   <!ELEMENT ejemplo (cualquier_contenido)>
   <!ELEMENT cualquier_contenido ANY>
   <!ELEMENT texto (#PCDATA)>
]>

<ejemplo>
   <cualquier_contenido></cualquier_contenido>
</ejemplo>