fbpx

 

Los archivos XML son creados y basados en la tecnología o lenguaje XML, el cual busca dar solución al problema de expresar información estructurada de la manera más abstracta y reutilizable posible. Que la información sea estructurada quiere decir que se compone de partes bien definidas, y que esas partes se componen a su vez de otras partes. Entonces se tiene la estructura de árbol jerárquico para toda la información.

Ejemplos son las categorías de inmuebles, que se compone de varios tipos de inmubles, que están formados a su vez de características del inmueble. Estas partes se llaman elementos, y se las señala mediante etiquetas.

Una etiqueta consiste en una marca hecha en el documento, que señala una porción de este como un elemento. Un pedazo de información con un sentido claro y definido.

Teniendo en cuenta esta definición podremos definir un XML para una lista inmuebles de esta manera:

 

<INMUEBLES>

     <inmueble tipo="Apartamento" />

</INMUEBLES>

 

Tanto INMUEBLE como inmueble son ambas etiquetas!

 

Como pueden observar la información está fragmentada pero a su vez está organizada de manera secuencial y en un orden jerárquico, digamos que CATEGORIAINMUEBLE es el padre de tema porque cada uno de los inmuebles que son nodos se encuentra dentro de la etiqueta CATEGORIAINMUEBLE que agrupa todos los hijos o nodos tema.

Pero para que un archivo realmente cumpla con las normas de XML no solo debe respetar esta estructura jerárquica sino también debe incluir elementos obligatorios como es el tipo de codificación de lenguaje o prólogo.

 

<?xml version="1.0" encoding="utf-8"?>

     <INMUEBLES>

          <inmueble tipo="Apartamento" />

     </INMUEBLES>

 

Como pueden observar se agregó una nueva línea en la parte superior del XML que cumple con la función de indicar el tipo de versión 1.0 y el tipo de codificación de lenguaje utf-8 que en este caso es para poder nosotros usar alfabeto español dentro de la estructura del XML.

Otro elemento importante de un XML son sus atributos y estos son elementos que estan indicado dentro de una etiqueta y anteponiéndose al signo igual (=), estos atributos nos son de gran utilidad si es que queremos incluir información extensa, si observan en el ejemplo verán que tipo=”Apartamento” es un atributo y su contenido es Apartamento. La manera correcta de escribir un atributo es no usar letras como ñ o acentuadas como nombre de atributo. Posterior al signo igual (=) entre comillas ya sean dobles o simples indicamos el valor del atributo Apartamento.

El valor del atributo si puede tener espacios, ñ o acentos lo que si deben tener cuidado con el uso de las comillas, si para encerrar el valor del atributo usando comillas dobles y necesitamos volver a utilizar comillas, en este caso dentro del valor pondremos comillas simple, o viceversa.

Los atributos son usados en la mayoría de los casos para representar información corta, por ejemplo nombre del inmueble, código del inmueble, ubicación del inmueble, entre otros; pero si quisiéramos almacenar una descripción del inmueble ya no es para nada aconsejable usar un atributo para dicho fin, en ese caso nos haremos uso de una nueva etiqueta llamada CDATA.

CDATA nos permite dentro de ella colocar todo el texto que queramos y el XML ignorara todos los caracteres internos de este, cosa que ninguna palabra que este allí sea confundida por una etiqueta.

 

<?xml version="1.0" encoding="utf-8"?>

<INMUEBLES>

    <inmueble tipo="Apartamento ">

        <![CDATA[aqui el texto]]>

    </inmueble>

</INMUEBLES>

Como pueden observar las etiquetas CDATA están dentro del cuerpo del archivo XML, por lo tanto seguimos respetando el orden jerárquico de orden de padres a hijos. También es importante respetar la sintaxis de escritura del CDATA de la siguiente manera:

 

<![CDATA[aqui el texto]]>

Recordemos entonces las partes del archivo XML:

 

1. Prólogo:

 

<?xml version="1.0" encoding="utf-8"?>

Siempre al principio de nuestro XML y solo lo indicamos 1 vez

 

2. Cuerpo:

 

<INMUEBLES></INMUEBLES>

Es la etiqueta superior que abarcara todas las sub etiquetas y no abra ni existirá ninguna fuera de ella, esta se declara y se cierra una sola vez.

 

3. Nodos:

 

< View plain text >  XML

<inmueble tipo="Apartamento" />

Pueden existir cuanta cantidad de nodos necesiten pero siempre cuando se abre uno “<" se deben cerrar en alguna parte “/>”, estos nodos pueden tener el mismo nombre de nodo y cada uno será interpretado como elementos diferentes.

 

4. Atributos: nombre=”Apartamento nuevo para la venta en el barrio Manga”

Los atributos deben ir dentro del nodo y utilizar un nombre lo mas descriptivo posible y corto, su contenido se escribe a continuación del signo = y entre comillas sean simples o dobles. Si usan comillas dobles deberán usar dobles para el resto de sus atributos o viceversa.

 

5. CDATA:

 

<![CDATA[Nunca se arrepentirá de comprar este inmueble……..]]>

Por cada nodo puede existir un CDATA

 

Nuestro archivo XML podrías verse de la siguiente manera:

 

<?xml version="1.0" encoding="utf-8"?>

<INMUEBLES>

    <inmueble tipo="Apartamento">

        <![CDATA[Nunca se arrepentirá de comprar este inmueble……..]]>

    </inmueble>

    <inmueble tipo="Casa">

        <![CDATA[Nunca se arrepentirá de comprar este inmueble……..]]>

    </inmueble>

    <inmueble tipo="Lote o Terreno">

        <![CDATA[Nunca se arrepentirá de comprar este inmueble……..]]>

    </inmueble>

</INMUEBLES>

 

Por C.P. Nestor C. Andrade

 

Significado en Wikipedia

XML, siglas en inglés de eXtensible Markup Language, traducido como "Lenguaje de Marcado Extensible" o "Lenguaje de Marcas Extensible", es un meta-lenguaje que permite definir lenguajes de marcas desarrollado por el World Wide Web Consortium (W3C) utilizado para almacenar datos en forma legible. Proviene del lenguaje SGML y permite definir la gramática de lenguajes específicos (de la misma manera que HTML es a su vez un lenguaje definido por SGML) para estructurar documentos grandes. A diferencia de otros lenguajes, XML da soporte a bases de datos, siendo útil cuando varias aplicaciones deben comunicarse entre sí o integrar información.1

XML no ha nacido únicamente para su aplicación en Internet, sino que se propone como un estándar para el intercambio de información estructurada entre diferentes plataformas. Se puede usar en bases de datos, editores de texto, hojas de cálculo y casi cualquier cosa imaginable.

XML es una tecnología sencilla que tiene a su alrededor otras que la complementan y la hacen mucho más grande y con unas posibilidades mucho mayores. Tiene un papel muy importante en la actualidad ya que permite la compatibilidad entre sistemas para compartir la información de una manera segura, fiable y fácil.

Historia

XML proviene de un lenguaje inventado por IBM en los años setenta, llamado GML (Generalized Markup Language), que surgió por la necesidad que tenía la empresa de almacenar grandes cantidades de información y compartirla en otros SO y plataformas. Este lenguaje gustó a la ISO, por lo que en 1986 trabajaron para normalizarlo, creando SGML (Standard Generalized Markup Language), capaz de adaptarse a un gran abanico de problemas. A partir de él se han creado otros sistemas para almacenar información.2

En el año 1989 Tim Berners Lee creó la web, y junto con ella el lenguaje HTML. Este lenguaje se definió en el marco de SGML y fue de lejos la aplicación más conocida de este estándar. Los navegadores web sin embargo siempre han puesto pocas exigencias al código HTML que interpretan y así las páginas web son caóticas y no cumplen con la sintaxis. Estas páginas web dependen fuertemente de una forma específica de lidiar con los errores y las ambigüedades, lo que hace a las páginas más frágiles y a los navegadores más complejos.

Otra limitación del HTML es que cada documento pertenece a un vocabulario fijo, establecido por el DTD. No se pueden combinar elementos de diferentes vocabularios. Asimismo es imposible para un intérprete (por ejemplo un navegador) analizar el documento sin tener conocimiento de su gramática (del DTD). Por ejemplo, el navegador sabe que antes de una etiqueta <div> debe haberse cerrado cualquier <p> previamente abierto. Los navegadores resolvieron esto incluyendo lógica ad hoc para el HTML, en vez de incluir un analizador genérico. Ambas opciones, de todos modos, son muy complejas para los navegadores.

Se buscó entonces definir un subconjunto del SGML que permita:

Mezclar elementos de diferentes lenguajes. Es decir que los lenguajes sean extensibles.

La creación de analizadores simples, sin ninguna lógica especial para cada lenguaje.

Empezar de cero y hacer hincapié en que no se acepte nunca un documento con errores de sintaxis.

 

Para hacer esto XML deja de lado muchas características de SGML que estaban pensadas para facilitar la escritura manual de documentos. XML en cambio está orientado a hacer las cosas más sencillas para los programas automáticos que necesiten interpretar el documento.