XML es el acrónimo de Extensible Markup Language, que traducido libremente podría ser algo parecido a Lenguaje de Marcación Extensible.
XML es un metalenguaje, es decir, un lenguaje que permite generar otros lenguajes de marcación. XML es parte (un subcojunto, una reducción) de otro lenguaje mayor, con mayores capacidades, pero también más complejo denominado SGML (Standard Generalized Markup Language) que siguiendo la misma traducción sería el Lenguaje de Marcación Estándar Generalizado. Lo de estandarizado es porque se trata de una norma ISO, más concretamente la ISO 8879:1986.
Aunque un documento XML puede parecer similar a HTML, hay una diferencia principal. Un documento XML contiene datos que se autodefinen, exclusivamente. Un documento HTML contiene datos mal definidos, mezclados con elementos de formato. En XML se separa el contenido de la presentación.
Una forma de entender rápidamente la estructura de un documento XML, es viendo un pequeño ejemplo:
Pedro García
Alejandro Alves
Reunión semanal
La reunión es el jueves a las siete.
Existen un número de diferencias entre la sintaxis de HTML y XML. Algunas de ellas son:
ESTRUCTURA JERÁRQUICA
Los documentos XML deben seguir una estructura estrictamente jerárquica con lo que respecta a las etiquetas. Una etiqueta debe estar correctamente "incluida" en otra. Además, los elementos con contenido, deben estar correctamente "cerrados". En el siguiente ejemplo, la primera línea sería incorrecta en XML, no así la segunda:
HTML permite esto.
En XML la estructura es jerárquica.
ETIQUETAS VACÍAS
Las etiquetas vacías deben ser de la siguiente forma: <elemento-sin-contenido/> En el siguiente ejemplo, la primera línea sería incorrecta en XML, no así la segunda:
Esto es HTML
en el que casi todo está permitido
En XML, son
más restrictivos.
LAS ETIQUETAS EN XML SON "CASE SENSITIVE"
Esto quiere decir que distingue entre mayúsculas y minúsculas y que por tanto <etiqueta> y <Etiqueta> son distintas. De esto se deduce que han de estar abiertas y cerradas correctamente en cuanto a mayúsculas y minúsculas.
Esto es incorrecto
This is correct
UN SOLO ELEMENTO RAIZ
Los documentos XML sólo permiten un elemento raiz, del que todos los demás sean parte. Es decir, la jerarquía de elementos de un documento XML bien-formado sólo puede tener un elemento inicial. Por ejemplo:
.....
OBLIGATORIEDAD DE ENCOMILLAR LOS ATRIBUTOS
Al contrario que en HTML, los valores de los atributos siempre deben estar encerrados entre comillas simples ( ' ) o dobles ( " ). En el siguiente ejemplo, la primera línea sería incorrecta en XML, no así la segunda:
LOS ESPACIOS EN BLANCO SE CONSERVAN
Existe un conjunto de caracteres denominados "espacios en blanco" que los procesadores XML tratan de forma diferente en el marcado XML. Estos caracteres son los "espacios" (Unicode/ASCII 32), tabuladores (Unicode/ASCII 9), retornos de carro (Unicode/ASCII 13) y los saltos de línea (Unicode/ASCII 10).
La especificación XML 1.0 permite el uso de esos "espacios en blanco" para hacer más legible el código, y en general son ignorados por los procesadores XML.
Con HTML, una frase como esta:
Hola mi nombre es Diego,
se mostraría asi:
Hola mi nombre es Diego,
porque HTML reduce los espacions múltiples, consecutivos a un sólo espacio en blanco.
NOMBRADO DE COSAS
Al utilizar XML, es necesario asignar nombres a las estructuras, tipos de elementos, entidades, elementos particulares, etc. En XML los nombres tienen algunas características en común.
Un nombre empieza con una letra o uno o más signos de puntuación, y continúa con letras, dígitos, guiones, rayas, dos puntos o puntos, denominados de forma global como caracteres de nombre. Los nombres que empiezan con la cadena "xml", se reservan para la estandarización de esta o de futuras versiones de esta especificación. Lo que significa que no se pueden crear nombres que empiecen con la cadena "xml", "xMl", "XML" o cualquier otra variante. Las letras y rayas se pueden usar en cualquier parte del nombre. También se pueden incluir dígitos, guiones y caracteres de punto, pero no se puede empezar por ninguno de ellos. El resto de caracteres, como algunos símbolos, y espacios en blanco, no se pueden usar.
MARCADO Y DATOS
Las construcciones como etiquetas, referencias de entidad y declaraciones se denominan "marcas" o "tags". éstas son las partes del documento que el procesador XML espera entender. El resto del documento que se encuentra entre las marcas, son los datos que resultan entendibles por las personas.
Es sencillo reconocer las marcas en un documento XML. Son aquellas porciones que empiezan con "<" y acaban con ">", o bien, en el caso de las referencias de entidad, empiezan por "&" y acaban con ";".




