Conceptos de “Válido” y “Bien formado”
Un documento XML debe estar bien formado y ser válido para poder ser procesado y visualizado.
La expresión “bien formado” significa que el documento XML debe estar expresado correctamente según la gramática de XML. Entre las reglas que debemos seguir escrupulosamente señalaremos las siguientes:
- Debe haber un único nodo raíz que contenga la totalidad del documento XML.
- Todos los elementos deben estar bien anidados (“nested”) en el interior de un nodo raíz y nunca deben solaparse los unos con los otros. Así, por ejemplo, esto sería correcto:
<metadatos>
<titulo>Introducción... </titulo>
<fecha>30 enero 2017</fecha>
</metadatos>
Pero no esto:
<metadatos>
<titulo>Introducción...
<fecha>30 enero 2017</titulo></fecha>
</metadatos>
- Los nombres de los elementos y atributos son siempre sensibles a las mayúsculas.
- Todas las etiquetas de apertura deben tener una etiqueta de cierre; excepto si se trata de elementos vacíos, en cuyo caso se expresa así
<nombre_elemento/>
. - Los valores de los atributos van siempre entre comillas.
- Un elemento no puede tener dos atributos con el mismo nombre.
- Los comentarios y las instrucciones de procesamiento nunca pueden aparecer en el interior de una etiqueta.
- No pueden aparecer los caracteres < o & como ni en los nombres de los elementos ni en los atributos.
- Una recomendación: nunca utilicen acentos o espacios en los nombres de los elementos, ni en los atributos como tampoco en los valores. Su uso puede acarrear muchos problemas a la hora de procesar los documentos.
Una manera muy sencilla de comprobar si un documento XML está bien formado es abrirlo con un navegador web que sepa interpretar documentos XML, como por ejemplo Mozilla. Si el documento aparece en el navegador, significa que está bien formado, en caso contrario aparecerá un error.
Si utilizamos el programa oXygen que posee ya un parser que permite la comprobación de su correcta formación. La opción “Check Well-Formedness” (Menú superior, Document > Validate > Check Well–Formedness) nos permite llevar a cabo esta operación sin ninguna complicación; en caso de que se cumplan los requisitos nos aparecerá en la parte inferior el mensaje “Document is well formed”. En caso contrario aparecerá: “Wellformed test – failed. Errors: 1” o el número de errores que localice en el documento. Además nos aparecerá el mensaje del tipo de parser utilizado, en el caso de oXygen, Xerces, con los detalles del error.
Por otro lado, el documento debe ser también “válido”. Para ello, necesita un modelo que fije la estructura básica y las posibilidades de anidación del documento. Las DTD o esquemas (RelaxNG, W3CSchema) establecen la sintaxis que debe tener el documento XML. Si este está formado según sus reglas, será válido. A diferencia de cuando está bien formado, los navegadores web no validan los documentos XML, solo comprueban que esté bien formado.
Volviendo a nuestro ejemplo (Ejemplo 2) y al programa oXygen, podemos comprobar que nuestro fichero sea válido. En este caso, el fichero depende de una DTD, llamada Ejemplo 2: una DTD. Vamos al Menú superior > Document > Validate > Validate. El mensaje que nos aparecerá en la parte inferior del programa será “Document is valid”.
Mientras que un documento XML debe estar siempre bien formado, el hecho de ser válido no es obligatorio, pero altamente recomendable pues establece qué tipo de marcado se ha utilizado. En el caso de TEI, siempre se usa un esquema a partir del cual validamos nuestro documento.
Cita
Allés Torrent, Susanna (2019). "Introducción a la Text Encoding Initiative". TTHub. Text Technologies Hub: Recursos sobre tecnologías del texto y edición digital. https://TTHub.io/aprende/introduccion-a-tei/
Copiar