Los componentes más básicos de un documento XML son los elementos, los atributos y los comentarios. Para facilitar la comprensión de cómo funcionan estos componentes en un documento XML, los examinaremos utilizando el Bloc de notas XML de Microsoft. El Bloc de notas XML está incluido en el kit de recursos XML de Microsoft Windows DNA, que puede encontrarse en el sitio web de Microsoft (msdn.microsoft.com/vstudio/xml/default.asp).ElementosLos elementos se utilizan para marcar las secciones de un documento XML. Un elemento XML tiene la siguiente forma: <ElementName>Content</ElementName>
Aunque las etiquetas XML suelen encerrar contenido, también puede haber elementos sin contenido, llamados elementos vacíos. En XML, un elemento vacío puede representarse de la siguiente manera: <NombreDeElemento/>
Al anidar elementos, no se deben solapar las etiquetas. La siguiente construcción no estaría bien formada porque la etiqueta final <Paciente> aparece entre las etiquetas de uno de sus elementos anidados: <Paciente>
El lenguaje de marcas extensible (XML) es un lenguaje de marcas y un formato de archivo para almacenar, transmitir y reconstruir datos arbitrarios. Define un conjunto de reglas para la codificación de documentos en un formato legible tanto para el ser humano como para la máquina. La especificación XML 1.0[2] del World Wide Web Consortium de 1998[3] y otras especificaciones relacionadas[4] -todas ellas estándares abiertos y gratuitos- definen el XML[5].
Los objetivos de diseño de XML hacen hincapié en la simplicidad, la generalidad y la facilidad de uso en Internet[6]. Es un formato de datos textual con un fuerte soporte a través de Unicode para diferentes idiomas humanos. Aunque el diseño de XML se centra en los documentos, el lenguaje se utiliza ampliamente para la representación de estructuras de datos arbitrarias[7] como las utilizadas en los servicios web.
El objetivo principal de XML es la serialización, es decir, el almacenamiento, la transmisión y la reconstrucción de datos arbitrarios. Para que dos sistemas dispares intercambien información, deben acordar un formato de archivo. XML estandariza este proceso. XML es análogo a una lingua franca para representar información[8]: 1
Tal y como se define en la Recomendación del W3C sobre espacios de nombres en XML , un espacio de nombres XML es una colección de elementos y atributos XML identificados por un identificador de recursos internacionalizado (IRI); esta colección suele denominarse “vocabulario” XML.
Una de las principales motivaciones para definir un espacio de nombres XML es evitar conflictos de nomenclatura cuando se utilizan y reutilizan múltiples vocabularios. El esquema XML se utiliza para crear un vocabulario para una instancia XML, y utiliza mucho los espacios de nombres. Por lo tanto, tener una buena comprensión del concepto de espacio de nombres es esencial para entender el esquema XML y la validación de instancias en general.
Así, vemos que el concepto de espacios de nombres en XML no es muy diferente de los paquetes en Java. Esta correlación pretende simplificar la comprensión de los espacios de nombres en XML y ayudarle a visualizar el concepto de espacios de nombres.
Los espacios de nombres se declaran como un atributo de un elemento. No es obligatorio declarar los espacios de nombres sólo en el elemento raíz, sino que puede declararse en cualquier elemento del documento XML. El ámbito de un espacio de nombres declarado comienza en el elemento en el que se declara y se aplica a todo el contenido de ese elemento, a menos que sea anulado por otra declaración de espacio de nombres con el mismo nombre de prefijo; en este caso, el contenido de un elemento es el que se encuentra entre las etiquetas <opening-tag> y </closing-tag> de ese elemento. Un espacio de nombres se declara como sigue:
Cada documento XML tiene exactamente un único elemento raíz. Encierra todos los demás elementos y es, por tanto, el único elemento padre de todos los demás elementos. Los elementos raíz también se denominan elementos de documento. En HTML, el elemento raíz es el elemento <html>[1].
El World Wide Web Consortium define no sólo las especificaciones del propio XML,[2] sino también el DOM, que es un modelo de objetos estándar independiente de la plataforma y el lenguaje para representar documentos XML. El nivel 1 de DOM define, para cada documento XML, una representación de objeto del propio documento y un atributo o propiedad en el documento llamada documentElement. Esta propiedad proporciona acceso a un objeto de tipo elemento que representa directamente el elemento raíz del documento[3].
Puede haber otros nodos XML fuera del elemento raíz[4]. En particular, el elemento raíz puede ir precedido de un prólogo, que a su vez puede consistir en una declaración XML, comentarios opcionales, instrucciones de procesamiento y espacios en blanco, seguido de una declaración DOCTYPE opcional y más comentarios opcionales, instrucciones de procesamiento y espacios en blanco. Después del elemento raíz, puede haber más comentarios opcionales, instrucciones de procesamiento y espacios en blanco dentro del documento[5].