El lenguaje de marcas XML se caracteriza por ser un sistema de información estructurado, o sea, el lenguaje se conforma mediante una estructura. El entramado estructural se consigue mediante el uso de las etiquetas: unas que son específica o previstas por la norma del lenguaje y otras creadas por el usuario aunque estas últimas también habrán de ser construidas respetando las normas de la especificación. Las etiquetas vienen a ser las piezas que unidas dan forma a una estructura.
Sin embargo, el símil de la construcción estructural que he referido antes no ha ganado adeptos entre los usuarios del lenguaje XML. Los teóricos prefieren hablar de árbol de información o de familia compuesta de padres hijos, nietos, sobrinos, etc.. Sea una metáfora u otra, se trata de entender que estamos ante una manera de configurar la información.
En el fondo se trata de la vieja teoría de la comunicación y su codificación. Para transmitir una información antes habrá de codificarse para luego ser fácilmente recuperada por el el receptor. El lenguaje XML es un sistema de codificación de la información, igual que lo pueda ser la codificación mediante bases de datos relacionales. De hecho, en los últimos años estos dos sistemas de codificación y almacenación han tendido hacia el mismo punto, de forma que la sintaxis de sus respectivos lenguajes de decodificación se parecen mucho, ya que una expresión SQL recuerda mucho a una expresión XQuery. Por otro lado los programas de tratamiento de información como MYSQL contienen códigos para transformar un sistema en otro
Por otro lado hoy se habla con normalidad de bases de datos XML sin que nadie se sorprenda, por supuesto, dejando a un lado la diferencia de sus arquitecturas. No hace falta un gran salto en el vacío para considerar que en un docuemento XML se puede equiparar a una tabla de una base datos relacional. Por el mismo motivo, las líneas de tablas de bases de datos se pueden igualar a las etiquetas XML. De hecho el lenguaje XML puede representan en una línea todos los registros de una línea de una tabla relacional, lo cual se lleva a cabo mediante la utilización de los atributos de las etiquetas que ahora trataremos. Esta sorprende propiedad no debe ser nunca perdida de vista por todo aquel que se adentre en este lenguaje porque facilita la comprensión de muchos aspectos de los documentos XML. La dificultad de la comprensión de la estructuración que permite el lenguaje XML procede de que estamos más acustumbrados a tratar con las tablas, puede que por ser una construcción más intuitiva que las elaboraciones que se pueden realizar con el XML.
Supongamos que en una estantería existen diferentes frutas, tales como: naranjas, melones, sandías, limones, peras, ciruelas. La representación mediante una tabla es sumamente intuitiva:
Más sutil sería la representación en XML:
Tabla 2. Enumeración de las frutas que están en una estantería
<?xml version="1.0" encoding="UTF-8"?> <!-- New document created with EditiX at Tue Jun 05 18:18:29 BST 2012 --> <frutas_de_la_estantería> <fruta>Naranjas</fruta> <fruta>Melones</fruta> <fruta>Sandías</fruta> <fruta>Limones</fruta> <fruta>Peras</fruta> <fruta>Ciruelas</fruta> </frutas_de_la_estantería>
Mediante el uso de los atributos de las etiquetas podriamos elaborar la misma información en sólo una línea:
Table 3. Enumeración de las frutas de una estantería utilizando una sólo línea de codificación
<?xml version="1.0" encoding="UTF-8"?> <!-- New document created with EditiX at Tue Jun 05 18:18:29 BST 2012 --> <frutas_de_la_estantería fruta1="Naranjas" fruta2="Melones" fruta3="Sandías" fruta4="Limones" fruta5="Peras" fruta6="Ciruelas"/>
Si en nuestro ejemplo hubiesemos considerado más de una estantería estariamos tratando un sistema de información de manera similar al otro, ya que tendríamos dos filas en la tabla y dos líneas de información en el código XML.
En esta entrada he hecho una introducción. El concepto de etiqueta es más amplio ya que su utilización va a dar lugar a que en el documento se formen distintas estructuras que nos van a permitir una alta abstracción en la manera de presentar la información, como la que ya hemos visto en el ejemplo, o añadir cierta información para que los procesadores entiendan lo que se traen entre manos, lo cual, por supuesto, no es ni más ni menos que los nosotros deseamos.
No hay comentarios:
Publicar un comentario