Rational Developer for System z, Versión 7.6.1

Espacios de nombres

Los documentos de instancia XML y esquemas XML pueden utilizar los espacios de nombres. Los espacios de nombres proporcionan un método para calificar nombres de artefactos.

Un único documento de instancia XML puede contener elementos y atributos que están definidos y que son posiblemente utilizados por varias aplicaciones. Dos elementos o atributos distintos dentro del mismo documento pueden necesitar el mismo nombre. Aplicaciones individuales necesitan poder reconocer los elementos y atributos que procesar. En circunstancias como las anteriores, es posible definir las definiciones entre sí calificando cada elemento con un espacio de nombres distinto. Esto evita problemas de conflictos de nombres y de reconocimientos erróneos.

Los esquemas XML pueden definir un espacio de nombres de destino. Los elementos globales, atributos, grupos y tipos definidos dentro de un esquema XML están calificados por el espacio de nombres de destino si se ha definido. Opcionalmente también posible calificar elementos y atributos locales mediante el espacio de nombres de destino. Por lo tanto, los espacios de nombres ayudan al desarrollo de una biblioteca de esquemas XML que pueden ser desarrollados independientemente. Al proporcionar el nombre de espacio de nombres utilizado para un esquema XML que sea exclusivo, un desarrollador no tiene que preocuparse acerca de los conflictos de nombres entre artefactos definidos dentro de otros esquemas XML.

El ámbito de un espacio de nombres se extiende más allá del documento que lo contiene y está identificado por un identificador uniforme de recursos (URI). Para servir a su propósito, un URI debe ser exclusivo. Puede que el concepto de un ubicador de recursos universal (URL). Los URI a menudo utilizan la misma sintaxis que los URL, aunque la definición de URI es más amplia que la especificación de un URL. Este es un ejemplo de un URI: http://mycompany.com/xml_schema

Un prefijo de espacio de nombres está declarado como una manera más corta de expresar el nombre de URI completo y se utiliza para calificar todos los elementos que pertenecen a dicho espacio de nombres. El prefijo puede ser sustituido por un espacio de nombres en un documento de instancia XML o por un esquema XML especificado utilizando un atributo xmlns. Un espacio de nombres predeterminado puede también definirse utilizando un atributo xmlns. Si se define un espacio de nombres predeterminado, cualquier elemento o atributo sin prefijo estará calificado con el espacio de nombres predeterminado. Si no hay definido ningún espacio de nombres predeterminado, cualquier elemento o atributo sin prefijo no estará calificado por un espacio de nombres.

El modelo de mensaje

El modelo de mensajes proporciona la capacidad para dar soporte a los espacios de nombres dentro de los conjuntos de mensajes. Sin embargo, puede elegir- si desea habilitar o inhabilitar los espacios de nombres del conjunto de mensajes. Si elige inhabilitar los espacios de nombres al crear el conjunto de mensajes, podrá habilitar los espacios de nombres posteriormente. Sin embargo, una vez se hayan habilitado los espacios de nombres de un conjunto de mensajes no podrán ser inhabilitado.

Un solo conjunto de mensajes que tiene los espacios de nombres habilitados puede contener un número de distintos espacios de nombres. Cada espacio de nombres está representado por un archivo de mensaje diferente (denominado también archivo de definición de mensaje). Al crear un archivo de mensaje puede elegir si tendrá un espacio de nombres asociado o si se encontrará en el espacio de nombres no de destino. Si elige asociar un espacio de nombres a un archivo de mensaje deberá también elegir un prefijo.

Si el archivo de mensaje tiene un espacio de nombres asociado, los siguientes artefactos globales están calificados por el espacio de nombres:
  • Elementos
  • Atributos
  • Tipos simples
  • Tipos complejos
  • Grupos
  • Grupos de atributos

Opcionalmente, los elementos y atributos locales pueden calificarse con el espacio de nombres.

Los artefactos definidos dentro de un archivo de mensaje pueden ser artefactos de referencia en otros archivos de mensaje dentro del mismo conjunto de mensajes. Esto se consigue importando o incluyendo un archivo de mensaje dentro de otro.

El formato físico XML

El espacio de nombres asociado a un archivo de mensaje (también denominado archivo de definición de mensaje) forma parte de la capa lógica del modelo de mensajes. Por lo tanto, no depende de la presencia de un formato físico XML. Sin embargo, si tiene un formato físico XML, la información del espacio de nombres de la capa lógica se utiliza para rellenar algunas de las propiedades del formato físico XML. Si los espacios de nombres están habilitados para un conjunto de mensajes, se mantendrá una tabla de espacios de nombres de pares URI/prefijos. Esta tabla se llena inicialmente con los espacios de nombres de todos los archivos de mensaje con sus prefijos cuando se crean.

Análisis de mensajes y ESQL

Si está utilizando el formato XML en el dominio MRM, los elementos y atributos se emparejan basándose en el espacio de nombres en el diccionario cuando el mensaje analizado se empareja con el diccionario generado a partir del modelo de mensajes. Por lo tanto, para que un elemento o atributo en un mensaje sea emparejado con el diccionario, tanto su nombre como su espacio de nombres deben coincidir.

No es necesario escribir un ESQL que tenga en cuenta los espacios de nombres si no está utilizando los espacios de nombres. No obstante, si decide utilizar espacios de nombres, los archivos de mensaje pueden tener como destino cualquier espacio de nombres que seleccione y será necesario escribir ESQL que tenga en cuenta los espacios de nombres. El espacio de nombres en el que reside un elemento se almacena en el árbol de mensajes cuando se analiza. Esta es una propiedad lógica y se mantiene independientemente del formato físico en el que se analicen y escriban los mensajes. Se ha añadido nueva sintaxis a ESQL para facilitar la referencia a espacios de nombres de elementos utilizando prefijos definidos.

Importación a partir de otros formatos

El modelo de mensaje permite crear archivos de mensaje (también denominado archivo de definición de mensaje) a partir de otros formatos importándolos al modelo de mensaje. Si realiza la importación desde un libro de copia de COBOL, un archivo de cabecera C o un archivo DTD de XML, el archivo de mensaje creado se encontrará en el espacio de nombres no de destino. Cuando se importa un archivo de esquema XML, el espacio de nombres de destino del archivo de mensaje creado depende de si se han habilitado los espacios de nombres para el conjunto de mensajes. Si los espacios de nombres están habilitados, el espacio de nombres de destino del archivo de mensaje creado por la importación será el espacio de nombres de destino del esquema XML que se importa.

Sin embargo, si los espacios de nombres están inhabilitados para el conjunto de mensajes, el archivo de mensaje creado se encontrará en el espacio de nombres no de destino independientemente del espacio de nombres de destino del archivo de esquema XML que se importa. Este tipo de importación no proporciona soporte de espacio de nombres completo. La acción del importador en esta instancia se describe en más detalle en el tema Importar de un esquema XML.


Términos de uso | Comentarios

Este Information Center está basado en tecnología Eclipse. (http://www.eclipse.org)