Administración de listas de códigos
Información general
Utilice XSD para especificar un conjunto específico de valores que sean válidos para un elemento o un atributo. Esta funcionalidad está disponible mediante el elemento de enumeración . Cuando se deriva un tipo de datos para un nodo Elemento de campo o Atributo de campo por restricción, una de las propiedades que se pone a su disposición en la categoría Restricción es la propiedad Enumeration . Con esta propiedad, puede abrir el cuadro de diálogo Editor de enumeración en el que puede especificar los valores que se deben considerar válidos para el elemento o atributo correspondiente en los mensajes de instancia.
Microsoft BizTalk Server proporciona una forma alternativa más eficaz de administrar las enumeraciones de los esquemas denominada listas de códigos. Las listas de códigos utilizan una base de datos de Microsoft Access para almacenar las opciones de las distintas enumeraciones, lo que permite una administración más centralizada de ellas. Además, si los valores de enumeración que necesita usar constan de códigos numéricos no intuitivos, que tendrían que escribirse en ese formulario mediante la propiedad Enumeration , las tablas que cree en una base de datos de Access para usarlas con la funcionalidad de lista de códigos incluyen descripciones textuales de estos valores numéricos. Las descripciones textuales se usan en el cuadro de diálogo CodeList en lugar de sus equivalentes numéricos más oscuros.
Uso de la lista de código
Debe realizar varios pasos para usar la característica de lista de códigos, entre ellos:
Debe crear una base de datos de Access con una tabla que tenga un nombre adecuado y las columnas apropiadas, y rellenar los valores.
El nombre de la tabla es una combinación de las propiedades Standard y Standard Version del nodo Esquema , separados por un carácter de subrayado (_). Por ejemplo, si ha establecido la propiedad Standard del nodo Schema en XML y la propiedad Standard Version en MyVersion1, la base de datos de Access especificada por la propiedad CodeList Database debe tener una tabla denominada XML_MyVersion1.
Obtenga más información sobre estas propiedades en la guía de interfaz de usuario y en la referencia del espacio de nombres de la API de desarrolladores.
Esta tabla debe tener tres columnas, normalmente denominadas Código, Valor y Descripción. La primera columna identifica las filas que están relacionadas entre sí, donde cada fila proporciona una de las opciones de enumeración que pueden permitirse para los datos que corresponden al nodo Elemento de campo o Atributo de campo seleccionado. Todas las filas que tienen el mismo valor en la primera columna forman un grupo. Estos valores son normalmente enteros, pero pueden ser cualquier cadena que no contenga espacios.
La segunda y tercera columnas de cada fila de la tabla deben configurarse de modo que contengan el valor y la representación textual correspondiente de cada valor de enumeración posible, respectivamente.
Por ejemplo, la siguiente representación de una tabla de base de datos de Access, para usarse con la característica de lista de códigos, contiene dos conjuntos de tres valores de enumeración relacionados. Los valores específicos de la primera columna son arbitrarios y se utilizan para asociar filas relacionadas.
Código Value Desc 1 13 Rojo 1 16 Verde 1 19 Azul 2 1 Pequeña 2 2 Media 2 3 grande
Debe configurar correctamente tres propiedades del nodo Esquema :
La propiedad CodeList Database debe establecerse en el nombre de la base de datos de Access que ha creado.
Las propiedades Standard y Standard Version deben establecerse de forma que, cuando se combinan con un carácter de subrayado separado (_), forman el nombre de la tabla adecuada dentro de la base de datos de Access especificada.
Para usar realmente los valores de la base de datos de Access para un nodo determinado Elemento de campo o Atributo de campo seleccionado, debe configurar dos de sus propiedades:
Debe establecer su propiedad Derived By enRestriction. La otra propiedad que necesita configurar, CodeList, no se habilitará hasta que realice este paso.
Debe escribir un valor en la propiedad CodeList que corresponda al valor de la primera columna (la columna Código ) de una o varias filas de la base de datos de Access especificada. Esta acción identifica el conjunto de valores de enumeración que pretende que se correspondan con el nodo Elemento de campo o Atributo de campo seleccionado.
A continuación, debe hacer clic en el botón de puntos suspensivos (...) situado a la derecha del campo de valor de la propiedad CodeList para abrir el cuadro de diálogo CodeList . Con las casillas de este cuadro de diálogo, seleccione los valores que desea permitir como valores legales para los datos del mensaje de instancia que corresponden al nodo Elemento de campo o Atributo de campo seleccionado. Solo puede seleccionar un subconjunto de los valores disponibles. Por ejemplo, con el ejemplo de tabla anterior, si escribe el valor 1 en la propiedad CodeList , el cuadro de diálogo CodeList contendrá las opciones Rojo, Verde y Azul. Si activa las casillas de rojo y verde y no activa la casilla azul, solo los colores anteriores aparecerán en el XSD como valores válidos para el nodo Elemento de campo o Atributo de campo seleccionado.
Nota
Las propiedades CodeList y CodeList Database solo se usan en tiempo de diseño y se conservan en el XSD como configuración correspondiente para la propiedad Enumeration . En tiempo de ejecución, todos los valores se comprueban solo con la propiedad Enumeration .
Precaución
Para un nodo Field Element o Field Attribute determinado, no use tanto la propiedad Enumeration como la propiedad CodeList . Si usa esta última propiedad, puede que se sobrescriban los valores especificados con la primera propiedad.