Actualizado el 01/04/2007 < > 0 Comentarios
Resúmen: Uso de los espacios de nombres en el lenguaje XML.
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.
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.
Publicado el 01/04/2007, última actualización 01/04/2007.
Seguir @laweberaAutor: Carles Mateu
URL: No especificado
Añadir Comentario
Últimas Novedades
2006 - 2012 © LaWebera.es
Aviso Legal - Privacidad
Alojado en CyberNETicos