Estás en Home » XML y DTD » XML y DTD. Espacios de nombres
disenador-web-autonomo

XML y DTD. Espacios de nombres

Los espacios de nombres (namespaces)

XML es un estándar diseñado para permitir que se comparta información con facilidad. ¿Qué pasaría si uniésemos información en XML procedente de dos fuentes diferentes para enviarla a una tercera? ¿Podríamos en ese caso tener algún conflicto por coincidencia del nombre de las etiquetas? Imaginemos el siguiente caso: un proveedor de Internet guarda todos sus datos en XML. La sección comercial almacena la dirección de la vivienda del cliente en un campo llamado <direccion>. Por otro lado, el servicio de asistencia al cliente guarda en <direccion> la dirección de correo electrónico del cliente, y finalmente el centro de control de red guarda en <direccion> la dirección IP del ordenador del cliente. Si unimos en un sólo fichero lo procedente de las tres divisiones de la empresa, nos podemos encontrar con:

<cliente>
...
<direccion>Calle Real</direccion>
...
<direccion>ventas@cliente.com
Esta dirección de correo electrónico está
siendo protegida de \"spam bots\",
necesitas habilitar Javascript para poder verlo.
</direccion>
...
lt;direccion>192.168.168.192</direccion>
...
</cliente>

Evidentemente en este caso tendríamos un problema, ya que no podríamos distinguir el significado de <direccion> en cada uno de los casos. Para ello, en 1999 el W3C definió una extensión de XML llamada espacios de nombres (namespaces) que permite resolver conflictos y ambigüedades de este tipo.

Uso de los espacios de nombres

Los espacios de nombres son un prefijo que ponemos a las etiquetas de XML para indicar a qué contexto se refiere la etiqueta en cuestión. En el ejemplo anterior podríamos definir:

<red:direccion>: para uso por el centro de control de red.
<aten:direccion>: para uso por el servicio de atención al cliente.
<comer:direccion>: para uso por el departamento comercial.

De esta forma, nuestro elemento queda compuesto así:

<cliente>
...
<comer:direccion>Calle Real</comer:direccion>
....
<aten:direccion>ventas@cliente.com
Esta dirección de correo electrónico
está siendo protegida de \"spam bots\",
necesitas habilitar Javascript para poder verlo.
</aten:direccion>
....
<red:direccion>192.168.168.192</red:direccion>
...
</cliente>

Para usar un espacio de nombres en un documento, debemos declararlo previamente. Esta declaración puede tener lugar en el elemento raíz del documento de la siguiente forma:

<?xml version=“1.0” encoding=“iso-8859-1”?>
<carteraclientes
xmlns:comer=“http://www.empresa.com/comercial”
xmlns:aten=“http://www.empresa.com/atencion”
xmlns:red=“http://www.empresa.com/red”>
<cliente>
...
<comer:direccion>Calle Real</comer:direccion>
...
<aten:direccion>ventas@cliente.com
Esta dirección de correo electrónico
está siendo protegida de \"spam bots\",
necesitas habilitar Javascript para poder verlo.
</aten:direccion>
...
<red:direccion>192.168.168.192</red:direccion>
...
</cliente>
</carteraclientes>

La definición consta de unos atributos xmlns (XML namespace), donde proporcionamos el prefijo que usaremos para el espacio de nombres y una URI (Uniform Resource Identifier) que será un identificador único del espacio de nombres.




Artículos Relacionados
Como guardar las páginas web en el servidor
Una vez tienes hecha la página, ésta debe ser guardada en formato HTML para que...
Nombres de dominios. Claves para adquirir un buen dominio
Si estás pensando en adquirir un dominio para tu página web, te diré que seguramente...
Colgar la página web en Internet
Para colgar la web en Internet y que todo el mundo pueda verla necesitas una...
Consejos al registrar un nombre de dominio
¿Qué es un servidor DNS? Cada página web tiene una dirección IP asignada. La función ...
Última Actualización: 14/12/07
(Sin valoración)
Loading ... Loading ...

Autor y licencia

Autor: Carles Mateu
URL: No especificado

Guía de capítulos

Anterior | Índice | Siguiente




Publicar un comentario