Espacio de nombres (XML)

Un espacio de nombres en XML ( eng.  XML namespace ) es un estándar que describe un grupo con nombre de elementos y nombres de atributos que sirven para garantizar su unicidad en un documento XML .

En diciembre de 2009, la tercera edición de la norma recibió el estatus de recomendación.

Todos los nombres de elementos dentro de un espacio de nombres deben ser únicos.

Un documento XML puede contener nombres de elementos y atributos de varios diccionarios XML. Cada diccionario tiene su propio espacio de nombres; así es como se resuelve el problema de los nombres ambiguos de elementos y atributos.

Tomemos, por ejemplo, un XML simple que contiene enlaces a un cliente y un producto pedido. Tanto los elementos de cliente como los de producto pueden contener un elemento secundario "ID_number". Las referencias al elemento ID_number serán así ambiguas, tendremos dos nombres de elementos idénticos que tienen diferentes significados semánticos, y así será hasta que introduzcamos espacios de nombres para distinguirlos.

Identificador de espacio de nombres (nombre)

El identificador (nombre) del espacio de nombres (nombre del espacio de nombres en inglés )  se establece mediante un atributo XML , cuyo valor debe ser una referencia de URI . xmlns

Por ejemplo:

xmlns="http://www.w3.org/1999/xhtml"

Tenga en cuenta, sin embargo, que el URI no se lee realmente como una dirección web, sino que el analizador XML lo trata como una cadena simple. Por ejemplo, http://www.w3.org/1999/xhtml realmente no tiene ningún código, es solo una referencia al espacio de nombres xhtml . El uso de URI (como "http://www.w3.org/1999/xhtml") para identificar un espacio de nombres en lugar de una cadena simple (como "xhtml") reduce la posibilidad de identificadores idénticos en los espacios de nombres. Los identificadores de espacio de nombres no tienen que ser direcciones web válidas, aunque a menudo lo son.

También puede incluir un prefijo corto en la declaración que identificará de forma única el espacio de nombres de cada elemento, por ejemplo:

xmlns:xhtml="http://www.w3.org/1999/xhtml"

Un espacio de nombres XML no requiere que se defina su diccionario, aunque es una práctica común colocar un esquema DTD o XML que define la estructura exacta de los datos en el contexto de un espacio de nombres particular.

Enlaces