Revista poética Almacén
Colaboraciones

XML en dos patadas

Antonio Cambronero
Autor de la bitácora Tramontana

Otros textos de Antonio Cambronero


El artículo que les presento este mes está relacionado con el lenguaje XML, del
que ya hablaron algo Aquiles y la Tortuga, el mes pasado.


Sin embargo el texto que podrán leer a continuación, quizás no sin un pequeño esfuerzo visual, es efectivamente un poco atípico, ya que ha sido escrito precisamente en ese lenguaje. Para facilitar su lectura y para que puedan comprobar cómo se ve en un navegador tipo Internet Explorer, lo hemos salvado, modificándolo un poco, a un fichero XML (éste que ustedes ven ahora es, naturalmente, un archivo HTML).


<?xml version="1.0" encoding="iso-8859-1" ?>

<articulo nombre="XML en dos patadas">

<autor>Antonio Cambronero</autor>

<fecha>enero de 2003</fecha>

<capitulo>

<titulo>¿Qué es metadatos?</titulo>

<contenido>

Este artículo está escrito en lenguaje XML. Como habla de XML, se puede considerar un meta-XML.



El propio XML (Extensible Markup Language o Lenguaje extensible de marcas) es un meta-lenguaje porque se usa en Internet, desde que el W3C lo aprobó en 1998, para describir lenguajes de marcas. XML sirve, básicamente, para describir datos con etiquetas que son los meta-datos.



Fundamentalmente, los meta-datos, o etiquetas, se encuentran enmarcados entre los signos '<' y '>'. Las etiquetas van en parejas (una de comienzo y otra de terminación) englobando, a su vez, a los datos que describen.



XML es extensible porque pueden crearse nuevas etiquetas, en cualquier momento, y pueden usarse para crear una variedad infinita de tipos de documentos, bien de texto, voz, video o cualquier combinación de ellos.



Hay dos aspectos muy importantes en el concepto que encierra XML. Por una parte, que, a diferencia de HTML, que describe la apariencia de la información en el navegador, XML es completamente independiente de la presentación. En segundo lugar, el objetivo de XML es empaquetar los datos, describiendo la información, para su procesamiento informático.



XML describe los datos, estructuradamente, de forma jerárquica. Realmente, la estructura es un árbol jerárquico, donde cada elemento, o marca, se considera padre de varios elementos hijos. Y cada padre es, a su vez, hijo también de otro elemento del árbol. Naturalmente, existe un nodo, denominado raíz, que no tiene padre y puede haber otros que no tengan hijos (los extremos del árbol).



Una estructura de este tipo representa perfectamente aquella información, con relaciones de dependencia filial entre nodos o marcas, pero lo cierto es que cualquier tipo de dato puede describirse de esta forma.



Se denomina parser a los programas que recorren el árbol de datos, definido en un fichero XML, para procesar su información.

</contenido>

</capitulo>

<capitulo>

<titulo>Algunas reglas</titulo>

<contenido>

Como dije al principio, este artículo está escrito en XML. Lo hemos salvado en xmlapatadas.xml y si lo abren, con su navegador, puede observar el resultado.



La primera etiqueta <?xml versión="1.0" enconding="iso-8859-1"?> es una declaración para que los programas reconozcan la versión a utilizar.



<articulo> es una marca. Como hemos visto, XML se divide en marcas y contenido. Las marcas o etiquetas (los nodos del árbol) son la información acerca del contenido, describiéndolo al nivel de detalle que se desee. Para escribir marcas deben seguirse ciertas reglas. En primer lugar, las marcas que encierran contenido deben tener su correspondiente etiqueta de cierre. Es decir, <articulo> es una etiqueta de apertura y </articulo> es una etiqueta de cierre. Las etiquetas de apertura comienzan con el signo '<' y terminan con '>'. Las etiquetas de cierre comienzan con '</' y terminan con '>'.



En segundo lugar, las marcas deben anidarse apropiadamente y se dividen en padres e hijos. Las marcas padres engloban marcas hijos. Realmente, las marcas que son nodos del tipo hijo cuelgan, en el árbol, de los nodos que son padres. De esta forma, sería correcto:



<padre>

<hijo>

Esto es el contenido

</hijo>

</padre>




pero no:



<padre>

<hijo>

Esto es el contenido

</padre>

</hijo>




Por último, si alguna marca no tiene contenido, debe empezar con '<' y terminar con '/>'. Por ejemplo <vacio/>.



Terminamos así esta pequeña introducción al lenguaje XML. Recuerde que en XML:



1. Se declara la versión XML

2. Las etiquetas de apertura comienzan y terminan con '<' y '>' y las etiquetas de cierre con '</' y '>'

3. Las marcas hijo deben anidarse completamente dentro de las marcas padre

4. Las marcas vacias comienzan con '<' y terminan con '/>'




Observe que el árbol que corresponde a la descripción XML de este artículo tiene un nodo raiz (sin marca padre) cuya marca está compuesta de las etiquetas <articulo> y </articulo>. Dentro hay dos nodos enmarcados entre las etiquetas <capitulo> y </capitulo> que definen los dos apartados del texto. A su vez, cada nodo 'capitulo' tiene dos hijos, <titulo> y <contenido>, con el título y el contenido concreto de cada apartado.



Nótese también la marca <articulo> que, a diferencia del resto, contiene un atributo (nombre) y un valor ("XML en dos patadas") que componen su definición.

</contenido>

</capitulo>

<capitulo>

<titulo>Documentación</titulo>

<contenido>

Este artículo contiene información traducida de las webs:

Learn xml in 11.5 minutes

Freepint

</contenido>

</capitulo>

</articulo>


________________________________________
Comentarios