XML

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>