viernes, septiembre 22, 2006

Explorando XML

En esta ocasión nos toca abordar un tema que en los
ultimos años ha generado mucha controversia en cuanto a su
funcionalidad. Muchos programadores ven en XML una herramienta que
alguien mas debiera utilizar, pero que no estan listos para usar en sus
aplicaciones, ese dia llegara y mas pronto de lo que quisieramos.


XML se desarrollo en W3C (World Wide Web Consortium) como un
lenguaje que ampliara las limitaciones de HTML. Tanto el XML como el
HTML tienen su origen en el SGML, el estándar internacional
que permite definir la estructura y el contenido de los diferentes
tipos de documentos electrónicos.


Pero el lugar de XML en el mundo de Internet ha cambiado
radicalmente desde los primeros intentos por establecer este lenguaje.
No solo porque el predominio de HTML seguira, sino porque XML esta
orientandose al intercambio de informacion y no a su presentacion. Esto
es, con XML podemos manejar bases de datos, hojas de calculo, libretas
de direcciones y con HTML solo texto e imagenes. De esta forma XML sera
utilizado en realidad en nuestro servidor de aplicaciones y no el
cliente (como por ejemplo, en un browser).


Veamos la siguiente historia, Juan se ha cambiado de trabajo,
por lo que ahora necesita actualizar su informacion, desde su correo
electronico hasta su codigo postal. Debe mandar un archivo en correo
electronico a todos sus contactos para avisar de este cambio. Pedro que
es buen amigo de Juan recibe el correo de Juan y decide modificar su
libreta de direcciones de Outlook para lo cual copia y pega dato por
dato. Esto en pequeña medida debiera ser mas sencillo, que
tal solo importar los datos de un archivo. Es para este caso que XML
puede ayudar.


La belleza de XML es el intercambio que se le puede hacer a la
informacion, vamos a crear un archivo XML con los datos de Juan:









<?xml version="1.0"?>
<contacto>
<persona>
<nombre>Juan</nombre>
<apellidopaterno>Perez</apellidopaterno>
<apellidomaterno>Lopez</apellidomaterno>
<correo-e>jperez@nuevaempresa.com</correo-e>
</persona>
</contacto>


Una vez que generamos el archivo el siguente paso es usar esa
informacion en diferentes aplicaciones, una posibilidad sera que
pudieramos tener este mismo archivo exportable en aplicaciones de
lenguaje ingles:









<?xml version="1.0"?>
<contact>
<person>
<lastname>Perez Lopez</lastname>
<name>Juan</name>
<e-mail>jperez@nuevaempresa.com</e-mail>
</person>
</contact>


Algunos diran que es casi lo mismo, pero en realidad no. Algo
que sucede a simple vista es que las etiquetas cambian de nombre, pero
ademas estamos uniendo dos etiquetas "apellidopaterno" y
"apellidomaterno" corresponden a "lastname", ademas cambiamos el orden
de las etiquetas. Y lo mas importante, conservamos los datos dentro de
las etiquetas, lo unico que hacemos es manipular la informacion, pero
sigue siendo claro lo que muestra nuestro archivo.


De esta forma es muy facil importar los datos del primer
archivo de XML en Outlook version Español, y usaran el
segundo archivo de XML para que aquellos que tienen version
Inglés .


Ahora pensemos en documentos como facturas, en realidad una
factura es un grupo de datos que se presentan en un mismo formato, el
departamento de contabilidad y de compras tienen diferente uso para
este mismo documento. Por lo que generar un par de archivos de XML que
funcione solo a cada departamento se vuelve muy practico. Y si nos
imaginamos que puede ser intercambiado entre dos areaas de nuestra
empresa, porque no hacerlo en diferentes empresas, donde cada quien
tien reglas distintas para obtener la informacion de un mismo documento.


Y queda una pregunta: ¿Quién dicta las
reglas sobre como se deben de transformar los datos?, la respuesta es
amplia, puede ser la misma empresa en donde se realiza la aplicacion,
puede ser las diferentes instituciones, las industrias, los
programadores, etc., en el sitio www.xml.org
se intentan generar diferentes esquemas que pretender ser un estandar o
un punto de partida.


Listo!

No hay comentarios.: