XML: el lenguaje sin vocabulario de uso universal

El idioma intercultural más popular para el intercambio de datos.

Ejemplo de sintaxis en XML

Ejemplo de sintaxis en XML

El XML proviene de un lenguaje inventado por IBM en los años setenta. Básicamente se resume como un texto human-readable basado en etiquetas (que son palabras contenidas entre los símbolos “<” y “>” por ejemplo “<libro>”). Las etiquetas tienen una sintaxis muy sencilla. Le animo a curiosear rápidamente tres de sus reglas para comprender mejor el siguiente punto.
· Solo puede haber una etiqueta de primer nivel, por ejemplo “<libros>”
· Todas las etiquetas que se abren se cierran, por ejemplo “<libro></libro>”
· Dentro de una etiqueta puede haber texto u otra etiqueta, por ejemplo “<libros><libro>Cómo ser feliz y no morir en el intento</libro></libros>”
Aunque no se ha dado cuenta, si XML fuera un idioma, ahora mismo habría aprendido casi toda su gramática.

Utilidad

Actualmente utilizamos XML tanto para almacenar información como para compartirla con terceros.

Dónde esta el beneficio

En la simplicidad y en la versatilidad. No se puede resumir mejor. El XML es simple a la par que efectivo para exportar e importar todo tipo de información.

XML no tiene las complejas ventajas de un motor de base de datos, que son muchas. No es cómodo para relacionar datos (dame un listado de clientes indicando para cada uno cuanto ha comprado el último trimestre), no es cómodo para modificarlos (resta 0.1 al campo comisión de todos los comerciales que no trabajan los sábados), no puedes almacenar consultas preparadas (siempre que diga factclient quiero decir listado de facturas por cada cliente y no me hagas explicártelo cada vez), no soporta concurrencia (como tu secretaria cuando sostiene una llamada para atender otra), … Veamos pues dónde se gana el interés de todos …

Puedes abrir un documento XML con un sencillo editor de textos que no soporte si quiera poner negritas, pongamos por ejemplo el «Bloc de Notas» que viene incluido en Windows, y simplemente conociendo la gramática explicada en la sección anterior, podras entender y modificar la información que contiene.

Puedes exponer un documento XML en un servidor web permitiendo a terceros solicitarlo tantas veces lo necesiten. Cualquier lenguaje de programación actual permite tanto realizar peticiones de ficheros a servidores web, como procesar documentos XML. Solicitar ese documento les permite leer información sin tener acceso a tu base de datos, sin representar ningún riesgo de seguridad porque no pueden leer más información que la expuesta, ni pueden modificarla.

Puesta en práctica

Recordemos que el XML no dispone de un vocabulario concreto, por tanto se debe definir en cada situación qué etiquetas se utilizarán para representar la información.

El XML es utilizado popularmente en páginas como periódicos o blogs para poner a disposición de otros servicios los titulares de los últimos artículos publicados. En este caso se utilizan algunos estándares de facto como RSS o Atom que especifican qué información debe proporcionarse y qué etiquetas deben usarse para indicar qué es el titular, qué es el autor, qué es el resumen, …

El XML también esta siendo utilizado con muchos portales inmobiliarios, quienes publican una especificación sobre cómo esperan recibir los XML con los listados de inmuebles que muestran. A falta de un verdadero estandar, esto exige a cada inmobiliaria generar un XML adaptado para cada portal, lidiando también con las divergencias entre los tipos de inmueble que ambas partes consideran que deberían existir (lo que unos llaman «adosado» otros lo llaman «bungalow» y donde unos han diferenciado entre «terreno rústico» y «terreno urbanizable» otros lo han llamado «parcelas»). Pero incluso en este caso es beneficioso utilizar XML, porque compartiendo bases de datos también se tiene que pactar el nombre de las tablas y los campos con la información, y también se tiene que desarrollar el «traductor de tipos», pero con XML evitas los posibles problemas de interoperabilidad entre diferentes sistemas de bases de datos.

Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

volver arriba

Deja un comentario