Manual de XML en castellano

Ir al Indice General


En esta página:

Documentos XML bien formados

En los capítulos anteriores ya hemos visto de forma superficial que una de las características que diferencian al XML del SGML es la posibilidad de no utilizar DTD.

Como ya hemos dicho en alguna ocasión, en una DTD definimos cómo va a ser un tipo de documento; es decir, definimos los elementos, atributos y entidades que lo van a formar, cómo se estructuran y relacionan. Por tanto, si en la elaboracion de nuestros documentos XML no utilizamos ninguna, el parser no puede proporcionarnos información sobre la validez de ese documento; es decir, no nos puede indicar que los elementos y atributos que utilizamos son los correctos y que se encuentran en el orden adecuado, si no que, simplemente nos indicará si ese documento está bien formado o no: es decir, si respeta las reglas sintácticas del lenguaje XML.

Según la especificación, un objeto de texto es un documento XML bien formado si:

A lo largo de este capítulo, vamos a estudiar con más detalle esta definición, de manera que tengamos claro cómo tiene que ser un documento de texto para ser aceptado por un parser como un documento XML bien formado.

La regla "document"

Cumplir la regla "document" antes mencionada significa:

  1. Que continene uno o más elementos.
  2. Hay exactamente un elemento, llamado raíz, o elemento documento, del cual ninguna parte aparece en el contenido de ningún otro elemento.
  3. Para el resto de elementos, si la etiqueta de comienzo está en el contenido de algún otro elemento, la etiqueta de fin está en el contenido del mismo elemento. Es decir, los elementos delimitados por etiquetas de principio y final se anidan adecuadamente mutuamente.

El siguiente ejemplo no es un documento XML bien formado:


	Mi primer documento XML

ya que no contiene ningún elemento y, por tanto, está incumpliendo la regla número 1.

En cambio:


	<p>Mi primer documento XML</p>

sí que lo es, al contener al menos el elemento "p". La principal razón por la que el procesador comprueba los elementos es para determinar si el documento tiene estructura de datos que pueda extraer. Un documento que carece de elementos no tiene estructura de datos. Un documento con al menos un elemento tiene estructura de datos.

En cambio:


	<p>Mi primer documento XML</p>
	<p>Mi primer documento XML</p>

no es un documento XML bien formado al incumplir la regla número 2, según la cual sólo puede existir un único elemento raíz.

Aunque escrito de la siguiente manera si que es correcto:


	<documento>
		<p>Mi primer documento XML</p>
		<p>Mi primer documento XML</p>
	</documento>

al convertirse el elemento "documento" en el elemento raíz, ser único y no formar parte del contenido de ningún otro elemento.

En cambio, el siguiente ejemplo:


	<documento>
		<p>Mi primer <destacar>documento XML</p></destacar>
		<p>Mi primer documento XML</p>
	</documento>

es incorrecto al incumplir la regla 3, ya que la etiqueta inicio del elemento "destacar" está dentro del contenido del elemento "p", pero su etiqueta final está fuera.

La forma correcta sería la siguiente:


	<documento>
		<p>Mi primer <destacar>documento XML</destacar></p>
		<p>Mi primer documento XML</p>
	</documento>

Sintaxis correcta y restricciones de buena formación

Además de las reglas anteriormente mencionadas, para escribir documentos XML bien formados tenemos que conocer perfectamente la sintaxis del lenguaje XML y algunas restricciones que la especificación impone.

Es como en cualquier lenguaje: tenemos que conocer la sintaxis de cómo se escriben los elementos, atributos y entidades, y si las incumplimos el "parser" nos dará un error de mala formación. Algunas de estas reglas ya las hemos visto en el capítulo anterior: cómo se escriben las etiquetas de inicio y final, cómo se escriben las etiquetas de elementos vacios, cómo tenemos que escribir los atributos, etc. y es evidente que si no seguimos estas reglas el parser nos dará error.

En el siguiente Descargar fichero ejemplo:


	<?xml version="1.0"?>
	<documento> 
	  <p>Mi Primer <destacar importancia=1>documento XML</destacar></p]
	  <p>Comienza con la etiqueta <documento&gt;</p>
	  <p>A continuacion colocamos un elemento sin contenido</p>
	  <imagen fichero="imagen.gif">
	</documento>

nos encontramos con 4 errores:

Por tanto, el ejemplo anterior bien Descargar fichero escrito:


<?xml version="1.0"?>
<documento>
   <p>Mi Primer <destacar importancia="1">documento XML</destacar></p>
   <p>Comienza con la etiqueta &lt;documento&gt;</p>
   <p>A continuacion colocamos un elemento sin contenido</p>
   <imagen fichero="imagen.gif"/>
</documento>

Otras reglas que debemos tener en cuenta son:

Las entidades

Todavía no hemos hablado mucho de las entidades pero, como veremos más adelante, resultan muy importantes en la elaboración y mantenimiento eficiente de nuestros documentos XML.

Una de sus funcionalidades es la de permitirnos elaborar un documento XML en "trozos"; es decir, tendremos un único documento XML, pero éste físicamente se encontrará dividido en varios ficheros.

Por el momento no vamos a profundizar más en este aspecto, pero lo que hay que tener en cuenta es que para el parser se trata de un único documento XML y que, por tanto, sus diferentes partes, aún encontrándose en ficheros diferentes, deben verificar las reglas de buena formación descritas anteriormente.

Enlaces Recomendados

Tutorial de XML de Frank Boumphrey
http://www.hypermedic.com/style/xml/xml2.htm
Esta dirección enlaza con la parte del tutorial en la que se trata el tema de los documentos XML bien formados.

Tutorial de XML de Richard Lander
http://pdbeam.uwaterloo.ca/~rlander/XML_Tutorial/wf_xml.html
En esta dirección se trata en profundidad el tema de los documentos XML bien formados.

Anotaciones:

Ir al Indice General Ir al principio de la página.


© 99, Joaquin Bravo Montero
Convertido a HTML utilizando DSSSL y el Jade de James Clark.