Objetos de modelo de mensaje: tipos simples

Un tipo simple es una definición abstracta de un elemento de datos como, por ejemplo, un número, una serie de caracteres o una fecha.

La finalidad de un tipo simple es definir el contenido de uno o más elementos simples. Los tipos simples (y los elementos basados en ellos) no pueden contener atributos ni elementos hijo. Los tipos simples contrastan con los tipos complejos, que definen la estructura de un elemento pero que no suelen definir datos simples.

Tipos simples globales y locales

Los tipos simples pueden ser globales o locales. Un tipo simple global se puede utilizar como base para más de un elemento. Se le debe proporcionar un nombre exclusivo por el cual se pueda hacer referencia al mismo. Un tipo simple local se asocia con un elemento individual y no está disponible para volver a utilizarse en otro lugar del modelo de mensaje. Los tipos locales no necesitan ningún nombre y el editor de mensajes los visualiza como {Local simpleType}.

Variaciones de los tipos simples

Restricción

Se puede derivar un tipo simple a partir de otro tipo simple (el tipo base) por restricción. Un tipo de restricción puede tener aplicadas limitaciones de valor.

Un tipo de restricción se puede definir como un tipo simple incorporado, un tipo simple definido por el usuario o un tipo simple local definido de forma anónima dentro de la restricción.

Listar

Un tipo de lista es un modo de representar un valor simple que se repite. La anotación es más compacta que la anotación de un elemento de repetición y ofrece un modo de tener atributos de varios valores.

Un tipo de lista puede estar basado en un tipo de unión. Esto puede describir una lista de elementos separados por espacios en la que cada elemento puede estar basado en cualquier tipo simple de la unión.

Una lista de listas no está permitida. El tipo de elemento de un tipo de lista no puede ser una lista, ni tampoco puede derivarse en ningún nivel de otro tipo de lista y dará como resultado un error de la lista de tareas en el editor.

Un tipo de lista puede tener aplicadas las facetas de longitud, longitud máxima y longitud mínima. Estas facetas limitan el número de elementos de la lista. Para limitar los valores de cada elemento de la lista, las facetas deben aplicarse al tipo de elemento y no a la lista propiamente dicha. El editor de definiciones de mensaje proporciona soporte adicional para las facetas de enumeración y patrón directamente en un tipo de lista lo que permite importar cualquier esquema utilizándolas pero emitirá un aviso indicando que el intermediario ignorará las facetas de enumeración y patrón.

Unión

Un tipo de unión es una unión de dos o más tipos simples.

Un tipo de unión permite que un valor se ajuste a uno de los diferentes tipos simples. Los tipos simples que componen un tipo de unión se conocen como sus tipos de miembros. No existe un límite superior en cuanto al número de tipos de miembros que pueden existir pero debe haber como mínimo uno. Un tipo de miembro puede definirse como un tipo simple incorporado, un tipo simple definido por el usuario o un tipo simple local definido de forma anónima dentro del tipo de unión.

Un tipo de unión también puede incluir entre sus miembros tipos simples de lista, unión y restringidos.

El intermediario no aplica las limitaciones de valor hasta que los datos están en el árbol lógico. Esto significa que no será posible seleccionar entre dos tipos simples que estén derivados del mismo tipo fundamental pero con diferentes limitaciones (por ejemplo, un entero con un rango de 1-10 y entero con un rango de 11-209). En la lista de tareas aparecerá un aviso si se intenta llevar esto a cabo y el intermediario simplemente ignorará las limitaciones cuando resuelva la unión. El editor de definiciones de mensaje proporciona soporte adicional para las facetas de enumeración y patrón directamente en un tipo de unión lo que permite importar cualquier esquema utilizándolas pero emitirá un aviso indicando que el intermediario ignorará las facetas de enumeración y patrón.

Limitaciones de valor

Las limitaciones de valor aplicadas al tipo derivado deben restringir adicionalmente el tipo base (y los elementos basados en él). No está permitido que un tipo derivado debilite o elimine una restricción de valor que su tipo base ha definido. Si no se aplican limitaciones de valor al tipo derivado, éste será casi idéntico al tipo base, aunque se tratará como una restricción del tipo base en situaciones en las que esto sea pertinente (herencia de tipo y sustitución de elemento).

Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ad10401_