La regla "document"
Cumplir la regla "document" antes mencionada significa:
- Que contiene uno o más elementos.
- Hay exactamente un elemento, llamado raíz, o un elemento documento del cual ninguna parte aparece en el contenido de ningún otro elemento.
- 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 de forma adecuada 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 sí 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>
Ejercicio: Documento XML que incumple la regla Document
Para practicar, vamos a realizar varios ejercicios durante el curso. En este, deberéis indicar qué partes de la regla "document" incumple el siguiente documento:
<libro>
<titulo>El Quijote</titulo>
<libro>
<titulo>EL Lazarillo de Tormes</titulo>
<autor>Anonimo
<libro></autor>
<libro>
Solución:
Incumple las reglas 2 y 3.
- La regla 2 porque el elemento raíz libro existe más de una vez.
- La regla 3 porque el elemento autor empieza dentro del elemento libro pero en cambio termina fuera.