XMLproviene de un lenguaje inventado por IBMen los años setenta, llamado GML(General Markup Language), que surgió por la necesidad que tenía la empresa de almacenar grandes cantidades de información. Este lenguaje gustó a la ISO, por lo que en 1986 trabajaron para normalizarlo, creando SGML(Standard General Markup Language), capaz de adaptarse a un gran abanico de problemas. A partir de él se han creado otros sistemas para almacenar información.
En el año 1989 se creó el lenguaje HTML que fue utilizado para la WWW. HTML ha ido creciendo de una manera descontrolada, no cumpliendo todos los requisitos que pedía la sociedad global de Internet, a pesar de los esfuerzos del W3C de poner orden y establecer reglas y etiquetas para su estandarización. Esta entidad empezó en 1998 el desarrollo de XML, en el que aún continúa. Este lenguaje es utilizado por muchos otros lenguajes de programacion.
El XML se creó para que cumpliera varios objetivos:
- Que fuera idéntico a la hora de servir, recibir, y procesar la información del HTML para aprovechar toda la tecnología implantada de este.
- Que fuera normal y conciso desde el punto de vista de los datos y la manera de guardarlos.
- Que fuera extensible, para que lo puedan utilizar en todos los campos del conocimiento.
- Que fuese fácil de leer y editar e implementar.
- Que fuese fácil de implantar, programar y aplicar a los distintos sistemas.
Ventajas de usarlo
- Comunicación de datos. Si la información se transfiere en XML cualquier aplicación podría escribir un documento de texto plano con los datos que estaba manejando en formato XML y otra aplicación recibir esta información y trabajar con ella.
- Migración de datos. Si trabajamos en formato XML sería muy sencillo mover datos de una base de datos a otra.
- Aplicaciones Web. Con XML hay una sola aplicación que maneja los datos y para cada navegador podemos tener una hoja de estilo o similar para aplicarle el estilo adecuado..
Estructura
A primera vista, un documento XML es similar a los documentos HTML, pero realmente no son iguales, hay una diferencia principal: un documento XML contiene datos que se autodefinen exclusivamente, mientras que un documento HTML contiene datos mal definidos, mezclados con elementos de formato. En XML se separa el contenido de la presentación de forma total.
Al igual que el HTML, se basa en documentos de texto planoen los que se utilizan etiquetaspara delimitar los elementosde un documento. Sin embargo, XML define estas etiquetas en función del tipo de datos que está describiendo y no de la apariencia final que tendrán en pantalla o en la copia impresa; además de permitir definir nuevas etiquetas y que tienen los enlaces de hipertexto en HTML. Es una especificación que todavía está en desarrollo.
Documentos XML bien formados
Se llama documentos «bien formados» (del inglés well formed) a los documentos que cumplen con todas las definiciones básicas de formato y pueden, por lo tanto, ser analizados correctamente por cualquier «parser» que cumpla con la norma. Se separa esto del concepto de validez, que implica que no sólo el documento es bien formado sino que también su estructura se corresponde con la definida en un documento externo (expresada como DTD o como XSchema).
- Los documentos han de seguir una estructura estrictamente jerárquica con lo que respecta a las etiquetas que delimitan sus elementos. Una etiqueta debe estar correctamente incluida en otra, es decir, las etiquetas deben estar correctamente anidadas. Los elementos con contenido deben estar correctamente cerrados.
- XML permite elementos sin contenido pero la etiqueta debe ser: <elemento_sin_contenido />
- Los documentos XML sólo permiten un elemento raíz del que todos los demás sean parte, es decir, sólo puede tener un elemento inicial.
- Los valores atributos en XML siempre deben estar encerrados entre comillas simples o dobles.
- El XML es sensible a mayúsculas y minúsculas. Existe un conjunto de caracteres llamados espacios en blanco (espacios, tabuladores, retornos de carro, saltos de línea) que los procesadores XML tratan de forma diferente en el marcado XML.
- Es necesario asignar nombres a las estructuras, tipos de elementos, entidades, elementos particulares, etc. En XML los nombres tienen alguna característica en común.
- Las construcciones como etiquetas, referencias de entidad y declaraciones se denominan marcas; son partes del documento que el procesador XML espera entender. El resto del documento entre marcas son los datos entendibles por las personas.
Prólogo
Aunque no es obligatorio, los documentos XML pueden empezar con unas líneas que describen la versión XML, el tipo de documento y otras cosas.
El prólogo contiene:
- una declaración XML. Es la sentencia que declara al documento como un documento XML.
- una declaración de tipo de documento. Enlaza el documento con su DTD, o el DTD puede estar incluido
Elementos
Los elementos XML pueden tener contenido (más elementos, caracteres o ambos), o bien ser elementos vacíos.
Atributos
Los elementos pueden tener atributos, que son una manera de incorporar características o propiedades a los elementos de un documento.
Entidades predefinidas
Entidades para representar caracteres especiales para que no sean interpretados como marcado en el procesador XML.
Secciones CDATA
Es una construcción en XML para especificar datos utilizando cualquier carácter sin que se interprete como marcado XML