Grupos de sustitución del modelo de mensaje

Los grupos de sustitución son una característica del esquema XML que proporciona un modo de sustituir un elemento por otro en un mensaje XML.

Un grupo de sustitución es una lista de elementos globales que pueden aparecer en lugar de otro elemento global, denominado elemento de cabecera.

Un grupo de sustitución se define estableciendo la propiedad Grupo de sustitución en un elemento global (el elemento miembro) de forma que apunte a otro elemento global (el elemento de cabecera). Este añade el elemento miembro al grupo de sustitución del elemento de cabecera.

Consejo: Si los mensajes no se devuelven nunca como XML o si tiene un modelo de mensaje simple, utilice un tipo complejo o un grupo con la Composición establecida en Elección, en lugar de utilizar grupos de sustitución.

Elementos

Elementos de cabecera
Un elemento de cabecera es simplemente un elemento que se puede sustituir. Cuando se analiza un mensaje, puede aparecer uno de los elementos miembros en lugar del elemento de cabecera sin producir un error de validación.
Elementos abstractos
Un elemento abstracto es un elemento de cabecera que se debe sustituir. El atributo 'abstracto' del elemento así lo indica. Normalmente, los elementos abstractos tienen otros elementos en el grupo de sustitución, de lo contrario, no sirven de mucho. Siempre que aparezca un elemento abstracto en una definición de mensaje, deberá aparecer en su lugar un miembro del grupo de sustitución.

Atributos

Atributo bloque en elementos
El atributo bloque en un elemento limita el conjunto de elementos globales que pueden sustituir el elemento. El atributo bloque puede tomar cualquier subconjunto de los valores restricción, extensión, sustitución o todo.
  • Si el atributo bloque contiene restricción, un elemento que esté basado en una restricción del tipo del elemento no podrá sustituir el elemento.
  • Si el atributo bloque contiene extensión, un elemento que esté basado en una extensión del tipo del elemento no podrá sustituir el elemento.
  • Si el atributo bloque contiene sustitución, un elemento que sea miembro del grupo de sustitución del elemento no podrá sustituir el elemento.
  • Si el atributo bloque contiene todo, se aplicarán todas las limitaciones indicadas más arriba.
Atributo final en elementos
El atributo final en un elemento limita el conjunto de elementos globales que pueden ser miembros del grupo de sustitución del elemento. El atributo final puede tomar cualquier subconjunto de los valores restricción, extensión o todo.
  • Si el atributo final contiene restricción, un elemento que esté basado en una restricción del tipo del elemento no podrá estar en el grupo de sustitución del elemento.
  • Si el atributo final contiene extensión, un elemento que esté basado en una extensión del tipo del elemento no podrá estar en el grupo de sustitución del elemento.
  • Si el atributo final contiene todo, se aplicarán las dos limitaciones indicadas más arriba.
Atributo bloque en tipos complejos
El atributo bloque en un tipo complejo limita el conjunto de otros tipos que pueden sustituir a dicho tipo. El atributo bloque puede tomar los valores restricción, extensión o todo. Los significados de estos valores son los mismos que los mostrados para el atributo bloque en un elemento más arriba. Un elemento que es miembro de un grupo de sustitución sólo puede sustituir el elemento de cabecera si el tipo es compatible con el atributo bloque del tipo del elemento de cabecera.
Atributos bloque y final predeterminados
Se puede establecer un valor predeterminado para los atributos bloque y final a nivel de archivo de definición de mensajes. Si se ha establecido un valor predeterminado para uno de estos atributos o para ambos y no se ha establecido a nivel de objeto el atributo bloque o final pertinente, se utiliza el valor predeterminado para dicho objeto. Puede alterar temporalmente el valor predeterminado a nivel de objeto.
Conceptos relacionados
Esquema XML y el modelo de mensaje
Restricciones de esquema en el modelo de mensaje
Objetos de modelo de mensaje: herencia de tipos
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última actualización : 2009-02-16 13:54:28

ad10440_