Actualizado el 01/04/2007 < > 0 Comentarios
Resúmen: Tutorial que explica qué son los documentos bien formados en el lenguaje XML.
El concepto de bien formado procede de las matemáticas, donde es factible escribir una expresión usando símbolos matemáticos como,
1)1(--5(+=)4 <3
que, a pesar de estar formado por símbolos matemáticos, no significa nada, ya quen o sigue las convenciones y normas de escritura de expresiones matemáticas. Esta expresión matemática no está bien formada.
En XML, un documento bien formado es el que sigue las siguientes normas:
Todas las etiquetas cerradas: en HTML podemos trabajar con un gran nivel de relajación de las normas sintácticas, lo cual nos permite dejar etiquetas (como <B> por ejemplo) abiertas a lo largo de todo el documento, o usando indiscriminadamente etiquetas como <P> sin cerrarlas con la correspondiente </P>. XML no permite este nivel de relajación. Todas las etiquetas abiertas deben tener su correspondiente etiqueta de cierre. Esto se debe a que las etiquetas en XML representan una información jerárquica que nos indica cómo se relacionan los diferentes elementos entre ellos. Si no cerramos las etiquetas, introducimos en esta representación una serie de ambigüedades que nos impedirían un procesamiento automático.
No puede haber solapamiento de etiquetas: una etiqueta que se abre dentro de otra etiqueta debe cerrarse antes de cerrar la etiqueta contenedora. Por ejemplo,
<Libro>Platero y Yo<Autor>J. R.Jiménez</Libro></Autor>
no está bien formado porque Autor no se cierra dentro de Libro, que es donde debería cerrarse. La sentencia correcta sería:
<Libro>Platero y Yo<Autor>J. R. Jiménez</Autor></Libro>
Es decir, la estructura del documento debe ser estrictamente jerárquica.
Los valores de los atributos deben estar entrecomillados; a diferencia de HTML, donde podemos poner atributos sin comillas. Por ejemplo:
<IMAGE src=img.jpg SIZE=10>
En XML todos los atributos deben estar entrecomillados. Los atributos anteriores quedarían, pues, de la siguiente manera:
<IMAGE src=“img.jpg” SIZE=“10”>.
Los caracteres <, > y “ siempre representados por entidades de carácter: para representar estos caracteres (en el texto, no como marcas de etiqueta) debemos usar siempre las entidades de carácter especiales: <, > y “. Estos caracteres son especiales para XML.
La importancia que reviste el hecho de que un documento esté o no bien formado en XML deriva del hecho de que un documento bien formado puede ser analizable sintácticamente o parseable (es decir, procesable automáticamente). Existen multitud de parsers (analizadores) en numerosos lenguajes de programación que nos permiten trabajar con los documentos XML. Los parsers de XML son capaces de detectar los errores estructurales de los documentos XML (es decir, si están o no bien formados) y notificárselo al programa. Esta funcionalidad es importantísima para un programador, ya que le libera de la tarea de detectar errores para encomendársela a un programa que lo hará por sí solo (el parser).
Algunos parsers van más allá de la simple capacidad de detectar si el documento está bien formado o no y son capaces de identificar los documentos válidos , entendiendo por válido el hecho de que la estructura, posición y número de etiquetas sean correctos y tengan sentido.
Imaginemos por un momento el siguiente pedazo de nuestro documento de recetas:
<Ingrediente> <Cantidad unidad=“pieza”>3</Cantidad> <Cantidad unidad=“litro”>4</Cantidad> <Item>Patatas</Item> </Ingrediente>
Este XML está bien formado, sigue todas las normas para que lo esté, pero a pesar de ello no tiene ningún sentido. ¿Que significaría? Tenemos patatas en la receta, ¿pero en qué cantidad? En este caso el problema sería que tenemos un documento XML bien formado, pero que carece de utilidad, ya que no tiene sentido. Necesitamos indicar de alguna manera cómo controlar que un documento tenga sentido. En nuestro caso, tenemos que especificar que cada ingrediente tendrá sólo una etiqueta de tipo cantidad, que ésta tendrá un atributo opcional unidad y que no contendrá etiquetas anidadas. Para ello, XML nos proporciona un par de lenguajes de especificación de estructura del documento, XML Schema y DTD, que veremos posteriormente.
Publicado el 01/04/2007, última actualización 01/04/2007.
Seguir @laweberaAutor: Carles Mateu
URL: No especificado
Añadir Comentario
Últimas Novedades
2006 - 2012 © LaWebera.es
Aviso Legal - Privacidad
Alojado en CyberNETicos