Cómo definir un elemento en XML con DTD ELEMENT
Los DTD son documentos que nos sirven para definir la estructura de documentos XML. Los DTD son básicos para la formulación de documentos XML, por tanto usar DTD es necesario para tener documentos XML bien formados. Nos ayudarán a definir los elementos de un documento XML mediante DTD ELEMENT.
Dentro del DTD estableceremos qué elementos puede contener nuestro documento XML. Imagina una estructura XML que pueda albergar mensajes de texto, es decir, una estructura como la siguiente:
<texto> <mensaje></mensaje></texto>Tanto texto como mensaje son dos elementos XML que deberemos definir dentro del DTD del documento XML con DTD ELEMENT.
Declaración XML
Sección titulada «Declaración XML»Lo primero que tenemos que hacer al iniciar el DTD es la definición del XML con su versión y codificación:
<?xml version="1.0" encoding="UTF-8"?>Definición de elementos con DTD ELEMENT
Sección titulada «Definición de elementos con DTD ELEMENT»Acto seguido pasaremos a definir los elementos texto y mensaje con DTD ELEMENT. Para definir elementos utilizamos el tag <!ELEMENT> mediante la siguiente estructura:
<!ELEMENT nombre-elemento tipo-contenido><!ELEMENT nombre-elemento (elementos-hijos)>El primer caso de DTD ELEMENT lo utilizaremos para codificar elementos sencillos, es decir, aquellos que no aniden a otros elementos. En este caso indicaremos el tipo de contenido que puede albergar mediante un tipo. Esto nos servirá para definir nuestro elemento mensaje, al cual le daremos un tipo #PCDATA:
<!ELEMENT mensaje (#PCDATA)>En el segundo caso, DTD ELEMENT nos sirve para definir elementos que contengan a otros elementos. En ese caso el contenido será el nombre de los elementos que contengan, separados por coma y con modificadores que indiquen la cantidad de veces que pueden aparecer. Esta segunda estructura DTD ELEMENT nos servirá para definir el elemento texto, el cual contiene el elemento mensaje:
<!ELEMENT texto (mensaje+)>En el caso de texto pusimos (mensaje+) para indicar que mensaje es un subelemento del elemento texto. El símbolo más (+) significa que el elemento mensaje debe aparecer al menos una vez dentro del elemento texto, pero que puede aparecer N veces.
Modificadores de ocurrencia
Sección titulada «Modificadores de ocurrencia»Otros modificadores de DTD ELEMENT que indican el número de ocurrencias son:
- Sin modificador: el elemento aparecerá exactamente una vez.
- ?: el elemento puede aparecer cero o una vez.
- +: el elemento aparece una o N veces.
- *: el elemento puede aparecer cero o N veces.
DTD completo
Sección titulada «DTD completo»Finalmente nuestro DTD completo sería este:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE texto [ <!ELEMENT texto (mensaje+)> <!ELEMENT mensaje (#PCDATA)>]>Uso del DTD
Sección titulada «Uso del DTD»Para hacer uso del DTD desde nuestros documentos XML lo haríamos de la siguiente forma:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE texto [ <!ELEMENT texto (mensaje+)> <!ELEMENT mensaje (#PCDATA)>]><texto> <mensaje>Hola mundo</mensaje></texto>Descarga el código de Cómo definir un elemento en XML con DTD ELEMENT
Uso de la estructura DTD ELEMENT para definir los elementos que puede albergar nuestros documentos XML.