XML

tag Desarrollo y programación

Es el acrónimo de eXtensible Markup Languaje, o lenguaje de marcado extensible. Se trata de un lenguaje de marcado para almacenar datos de forma legible, en formato de texto. Dispone de un conjunto de reglas y una estructura para poder codificar documentos e información.

Es un formato idóneo para el intercambio de datos entre diversos sistemas que, a priori, son incompatibles. XML ha sido empleado por diversas API como el formato de referencia para la comunicación con las mismas, ya que al tratarse de ficheros o mensajes de texto, puede usarse en cualquier plataforma.

XML puede extenderse derivando en formatos y lenguajes nuevos. Como ejemplos podemos citar el formato abierto OpenDocument (ODF) para documentos de aplicaciones ofimáticas (usado por Google Docs, OpenOffice, LibreOffice…), el formato RSS para la distribución de noticias y contenidos, o el formato de imagen vectorial SVG.

Estructura de un documento XML

Un archivo XML se divide en dos partes: prólogo (prolog) y cuerpo (body).

En el prólogo, que no es obligatorio, se presenta información sobre el documento en sí (metadatos). Se usa para especificar la versión de XML a emplear o el tipo de documento, entre otras cosas.

En el cuerpo se incluye la estructura y la información del documento o la información que se quiere representar o transmitir.

Como ejemplo, tenemos este documento tomado de la Wikipedia:

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE Edit_Mensaje SYSTEM "Edit_Mensaje.dtd">  <Edit_Mensaje>      <Mensaje>           <Remitente>                <Nombre>Nombre del remitente</Nombre>                <Mail> Correo del remitente </Mail>           </Remitente>           <Destinatario>                <Nombre>Nombre del destinatario</Nombre>                <Mail>Correo del destinatario</Mail>           </Destinatario>           <Texto>                <Asunto>                     Este es mi documento con una estructura muy sencilla                      no contiene atributos ni entidades...                </Asunto>                <Parrafo>                     Este es mi documento con una estructura muy sencilla                      no contiene atributos ni entidades...                </Parrafo>           </Texto>      </Mensaje> </Edit_Mensaje>