Introducción

Introducción

Como ya hemos visto HTML esta concebido para presentar información, aplicando estructuras que ayuden a la comprensión por el ser humano. Pero los sistemas no solo tienen como objetivo la comunicación entre maquina/usuario, si no que también necesita tener un medio de transmisión entre los ellos, con los que puedan compartir datos.  Para ello disponemos de los lenguajes de marcas o de listas como XML y JSON.

Actualmente los sistemas, gracias a internet, comparten información de forma asidua, ya sea por compartir recursos de programación  como librerías o los propios datos.

Un ejemplo sería los portales de comparación de precios de servicios o productos los cuales cada vez que un usuario realiza una consulta, estas aplicaciones se comunican con los sistemas de varias empresas para obtener los precios y mostrarnos los resultados.

Es habitual que todas las empresas que ofrecen servicios publique de algún modo sus ofertas para que otros sistemas accedan a esta información. En muchos casos este acceso es gratuito aunque existen casos en que es necesario abonar algún tipo de subscripción.

Para esta comunicación es necesario además de que las aplicaciones permitan compartir información un lenguaje común, es decir un estándar que todas ellas comprendan. He aquí la importancia del estándar XML o JSON.

Otro claro ejemplo del uso de estos lenguajes de transmisión de datos, lo encontramos en los buscadores de internet.

Aunque realizan una lectura de todo el contenido, les facilita mucho que cada web informe del contenido y enlaces que se van a encontrar. Esto es el sitemap, documento XML que toda web debe tener.

De tal forma que los buscadores leen esta información y les ayuda a posicionar el contenido de la página.

 

Lenguajes de marcas XML

XML es un metalenguaje de marcas extensible (eXtensible Markup Language) no es mas que un conjunto de reglas para almacenar datos.

Estas reglas nos definen una estructura de etiquetas, con las cuales podemos estructurar un documento. Tal como hacíamos con HTML, pero en este caso su objetivo es el almacenamiento de la información.

La principal característica de XML es que puede definir su propio lenguaje de marcado, esto quiere decir que podemos decidir el nombre y disposición de los nodos (etiquetas) del documento.

XML crea archivos de texto para almacenar información estructurada, permitiendo una utilización más directa y mayor libertad a la hora de creación que SGML.

Los documentos XML constan de etiquetas y datos encerrados dentro de dichas etiquetas.

<nombre>Marco Antonio</nombre>

En el ejemplo vemos como la etiqueta <nombre> identifica la palabra Marco Antonio como un nombre de persona.

Pongamos un ejemplo, imaginemos que queremos almacenar los datos de una persona:

Irene nació́ el 18.05.87 en Navarra  y tiene el DNI con numero  36554878B. Analizando este texto, tenemos datos entendibles por personas, pero necesitamos que un programa sea capaz de leerlo, para ello crearíamos el siguiente XML.

Podemos comprobar en el ejemplo anterior, como los datos son los mismos, pero con diferente estructura a la hora de almacenarlos.

Las principales características de XML son:

  • Es un metalenguaje de composición simple, adecuado para cualquier aplicación que utilice datos estructurados, como hojas de calculo y bases de datos.
  • Crea sus propias etiquetas y atributos.
  • Utiliza de reglas DTD (Definición de Tipo de Documento), en la que definimos las reglas por las que se regirá el documento.
  • La información es independiente de la estructura del documento.
  • Se guarda en un formato de texto plano.
  • Contiene de metadatos para facilitar el indexado de los documentos.
  • Posibilidad de exportación a otros formatos (HTML, PDF, texto enriquecido RTF, voz, etc).
  • Es de código abierto, por lo que podemos utilizarlo libremente.
  • Comparte información entre sistemas, por ejemplo, páginas web, bases de datos, etc.

Lenguajes de listas

JSON esta basado en la estructura de objetos del lenguaje Javascript, más moderno que XML es usado tanto para la transmisión de datos como para el almacenamiento de la información.

Este modelo de datos se está haciendo cada vez más popular porque hace énfasis en su contenido, reduciendo mucho la sintaxis para estructurar la información.

Los archivos JSON son cadenas de texto que se deben «parsear» (analizar sintácticamente) cuando se quiere acceder a los datos del documento. Esto no es un problema, pues todos los lenguajes actuales poseen métodos para realizar esta tarea

Cuando convertimos  una cadena de texto a un objeto lo denomina parsing, mientras que cuando convertimos un objeto a una cadena se denomina stringification.

Los elementos que definen su estructura son:

  • {} – Identificación de un objeto.
  • [] – Estructura de tipo Array.
  • : – Lo usamos para separar los datos en formato clave:valor (se puede considerar como asignación =).
  • «» – Dato o valor.
  • , – Separación de los valores.