Espacios de nombres XML

Espacios de nombres XML

Espacios de nombres XML

Un espacio de nombres XML es una recomendación W3C para proporcionar elementos y atributos con nombre único en una instancia XML. Una instancia XML puede contener nombres de elementos o atributos procedentes de más de un vocabulario XML. Si a cada uno de estos vocabularios se le da un espacio de nombres, se resuelve la ambigüedad existente entre elementos o atributos que se llamen igual. Los nombres de elementos dentro de un espacio de nombres deben ser únicos.

Contenido

Uso de los espacios de nombres

Un ejemplo sería una instancia XML que contuviera referencias a un cliente y a un producto solicitado por éste. Tanto el elemento que representa el cliente como el que representa el producto pueden tener un elemento hijo llamado "numero_ID". Las referencias al elemento "numero_ID" podrían ser ambiguas, salvo que los elementos, con igual nombre pero significado distintos, se llevaran a espacios de nombres distintos que los diferenciaran.

<?xml version="1.0"?>
<cli:cliente xmlns:cli='http://es.wikipedia.org/wiki/Espacio_de_nombres_XML/cliente'
             xmlns:ped='http://es.wikipedia.org/wiki/Espacio_de_nombres_XML/pedido'>
    <cli:numero_ID>1232654</cli:numero_ID>
    <cli:nombre>Fulanito de Tal</cli:nombre>
    <cli:telefono>99999999</cli:telefono>
    <ped:pedido>
      <ped:numero_ID>6523213</ped:numero_ID>
      <ped:articulo>Caja de herramientas</ped:articulo>
      <ped:precio>187,90</ped:precio>
    </ped:pedido>
</cli:cliente>
</lang>

Declaración de espacios de nombres

Un espacio de nombres se declara usando el atributo XML reservado xmlns, cuyo valor debe ser un identificador uniforme de recurso.

Por ejemplo:

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

Sin embargo, hay que destacar que el URI no se lee realmente como una dirección; se trata como una cadena de texto por el Parser XML. Por ejemplo, el propio http://www.w3.org/1999/xhtml no contiene código alguno, simplemente describe el espacio de nombres XHTML a lectores humanos. El hecho de usar una URL (tal como "http://www.w3.org/1999/xhtml") para identificar un espacio de nombres, en lugar de una simple cadena (como "xhtml"), reduce la posibilidad de que diferentes espacios de nombres usen identificadores iguales. Los identificadores de los espacios de nombres no necesitan seguir las convenciones de las direcciones de internet, aunque a menudo lo hagan.

La declaración puede incluir también un prefijo corto con el que los elementos y atributos pueden identificarse, por ejemplo:

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

Un espacio de nombres XML no necesita que su vocabulario sea definido, aunque es una buena práctica utilizar un DTD o un esquema XML para definir la estructura de datos en la ubicación URI del espacio de nombres.

Alcance de los espacios de nombres

El alcance de la declaración de un prefijo de espacio de nombres comprende desde la etiqueta de inicio de un elemento XML, en la que se declara, hasta la etiqueta final de dicho elemento XML. En las etiquetas vacías, correspondientes a elementos sin "hijos", el alcance es la propia etiqueta.

Espacio de nombres por defecto

Cuando se define en la etiqueta de inicio de un elemento XML, se aplica a todos elementos sin prefijo del ámbito del elemento, pero no a los atributos.

<?xml version="1.0"?>
<cliente xmlns='http://es.wikipedia.org/wiki/Espacio_de_nombres_XML/cliente'
         xmlns:ped='http://es.wikipedia.org/wiki/Espacio_de_nombres_XML/pedido'>
    <numero_ID>1232654</numero_ID>
    <nombre>Fulanito de Tal</nombre>
    <telefono>99999999</telefono>
    <ped:pedido>
      <ped:numero_ID>6523213</ped:numero_ID>
      <ped:articulo>Caja de herramientas</ped:articulo>
      <ped:precio>187,90</ped:precio>
    </ped:pedido>
</cliente>

Unicidad de los atributos

Ningún elemento XML puede tener dos atributos con el mismo nombre expandido. El siguiente caso violaría esta restricción, ya que los dos atributos del elemento tendrían el mismo nombre expandido (http://es.wikipedia.org/wiki/Espacio_de_nombres_XML/ns:atributo).

<?xml version="1.0"?>
<raiz xmlns:ns1="http://es.wikipedia.org/wiki/Espacio_de_nombres_XML/ns" 
          xmlns:ns2="http://es.wikipedia.org/wiki/Espacio_de_nombres_XML/ns">
  <elemento ns1:atributo="hola"  ns2:atributo="adios" />
</raiz>

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Mira otros diccionarios:

  • Espacio de nombres para tablas y listados — Wikipedia:Espacio de nombres para tablas y listados Saltar a navegación, búsqueda Atajo WP:CTLWP:CTL Esta es una propuesta para la creación de un nuevo espacio de nombres dentro de la Wikipedia en español, cuya finalidad es almacenar información… …   Wikipedia Español

  • Wikipedia:Espacio de nombres para tablas y listados — Esta página está en una vitrina del museo de Wikipedia. Por favor, no la edites; ya no se usa. Atajo …   Wikipedia Español

  • Office Open XML — No debe confundirse con OpenOffice.org XML (formato obsoleto usado por versiones anteriores de OpenOffice.org), o Microsoft Office XML (formatos de archivo antiguos usados por versiones anteriores de Microsoft Office). Documento Office Open XML …   Wikipedia Español

  • Espacio de nombres — En programación, un espacio de nombres (del inglés namespace), en su acepción más simple, es un conjunto de nombres en el cual todos los nombres son únicos. Un espacio de nombres es un contexto en el que un grupo de uno o más identificadores… …   Wikipedia Español

  • Simple API for XML — Para otros usos de este término, véase SAX. SAX son las siglas de Simple API for XML , originalmente, una API únicamente para el lenguaje de programación Java, que después se convirtió en la API estándar de facto para usar XML en JAVA. Existen… …   Wikipedia Español

  • Extensible Markup Language — (XML) Desarrollador World Wide Web Consortium Información general …   Wikipedia Español

  • ActionScript — Adobe ActionScript es el lenguaje de programación de la Plataforma Adobe Flash. Originalmente desarrollado como una forma para que los desarrolladores programen de forma más interactiva. La programación con ActionScript permite mucha más… …   Wikipedia Español

  • XHTML — Extensible HyperText Markup Language (XHTML) Desarrollador World Wide Web Consortium Información general …   Wikipedia Español

  • AgMES — El Conjunto de elementos de metadatos agrarios (o AgMES, por su sigla en inglés para Agricultural Metadata Element Set) es la norma para los metadatos elaborada por la Organización de las Naciones Unidas para la Agricultura y la Alimentación… …   Wikipedia Español

  • Common Lisp — El Common Lisp, puede ser implementado por medio de JAVA. CLISP comúnmente abreviado como TL, es un dialecto del lenguaje de programación Lisp, publicado en el documento estándar ANSI INCITS 226 1994 (R2004) del ANSI, (antes X3.226 1994… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”