Ejemplo de agrupación

Acerca de esta tarea

Este ejemplo muestra un esquema de archivo sin formato que analiza un conjunto de registros repetitivo mediante grupos. Cada conjunto de registros repetitivo contiene registros de diferente tipo, como se muestra en los siguientes datos de archivo sin formato de entrada de ejemplo:

Figura 1. Un ejemplo de archivo sin formato de entrada

En estos datos de ejemplo, el primer, el segundo y el tercer registro del conjunto repetitivo tienen un tipo distinto. Además, este ejemplo muestra cómo se utilizan los tipos almacenados en la pestaña Biblioteca de tipos en un esquema de archivo sin formato. En este ejemplo, verá y probará un esquema de archivo sin formato en lugar de crear uno desde cero.

Para abrir, ver y probar el esquema de archivo sin formato utilizado para analizar los datos de entrada mostrados en la Figura 1:

Procedimiento

  1. En este ejemplo, el esquema de archivo sin formato ya se ha creado en el proyecto FlatFileSchemasExample. Para ver el esquema de archivo sin formato, primero debe extraer el proyecto FlatFileSchemasExample:
    1. Busque la Vía de acceso de creación predeterminada definida en Studio: el directorio en el que se crean los nuevos proyectos. Para ver la Vía de acceso de creación predeterminada, seleccione Archivo > Preferencias... en el menú de la barra de herramientas de Studio. Se abrirá el diálogo Preferencias. La Vía de acceso de creación predeterminada actual se muestra en la parte inferior del panel. De forma predeterminada, la Vía de acceso de creación predeterminada se ubica en el siguiente directorio:

      C:\Documents and Settings\myLogin\My Documents

      Donde myLogin representa el nombre con el que se inicia la sesión en Windows.

    2. Localice el archivo FlatFileSchemasExample.zip que contiene los archivos que conforman el proyecto FlatFileSchemasExample. Si ha aceptado los valores predeterminados durante la instalación de Studio, este archivo estará ubicado en el siguiente directorio:

      C:\Archivos de programa\IBM\WebSphere Cast Iron Studio 3.X\Samples\FlatFileSchema

    3. Copie el archivo FlatFileSchemasExample.zip desde el directorio FlatFileSchema en el de Vía de acceso de creación predeterminada.
    4. Extraiga el contenido del archivo FlatFileSchemasExample.zip en el directorio Vía de acceso de creación predeterminada.
  2. Abra el proyecto FlatFileSchemasExample:
    1. Seleccione Archivo > Abrir proyecto... en el menú de la barra de herramientas de Studio. Se mostrará el cuadro de diálogo Abrir.
    2. Localice y abra el directorio FlatFileSchemasExample.
    3. Pulse el archivo FlatFileSchemasExample.sp3 y, a continuación, en Abrir. Se mostrará el proyecto.
  3. Abra el esquema de archivo sin formato vegPO preconstruido. En la carpeta Esquemas de archivo sin formato del separador Proyecto, pulse dos veces en el esquema de archivo sin formato vegPO. Los nodos del esquema de archivo sin formato vegPO se muestran en el separador Diseño de esquema y las propiedades del nodo raíz vegPO se muestran en el panel derecho.
  4. Pruebe el esquema de archivo sin formato vegPO:
    1. En el panel de prueba, pulse Examinar. Se abrirá el cuadro de diálogo Abrir archivo de datos de prueba de muestra.
    2. Localice el archivo vegPO.txt que contiene los datos de entrada. Si ha aceptado los valores predeterminados durante la instalación de Studio, este archivo estará ubicado en el siguiente directorio:

      C:\Archivos de programa\IBM\WebSphere Cast Iron Studio 3.X\Samples\FlatFileSchema

    3. Pulse Abrir. Los datos de entrada del archivo vegPO.txt se mostrarán en el panel izquierdo del separador Probar.
    4. Pulse el icono Probar (icono Probar). En el panel de resultados (ubicado en el lado derecho del panel de prueba), el resultado de la conversión se muestra como datos XML.
  5. En el separador Diseño de esquema, pulse en el nodo raíz vegPO. El nodo raíz vegPO se muestra con las siguientes propiedades:
    1. La propiedad Estructura es igual a Delimitada: la estructura del nodo raíz está delimitada.
    2. El Delimitador hijo es igual a Fin de línea: los registros hijo están delimitados por un fin de línea.
    3. Posición de delimitador hijo es igual a Después: los delimitadores se esperan después de cada registro.
    4. El delimitador Repetición es igual a Fin de línea: los registros repetitivos también están delimitados el fin de línea.
  6. En el separador Diseño de esquema, pulse sobre el nodo raíz orderingStore. La primera línea de los datos de entrada se resalta dentro del panel de prueba, como se muestra en la siguiente ilustración:
    Ilustración de la cabecera de VegPO

    El primer registro del esquema de archivo sin formato vegPO es un registro de cabecera denominado orderingStore que se produce solo una vez. En el separador Diseño de esquema, los campos y los registros que componen el registro orderingStore se muestran como hijos. La primera línea se analiza en los campos y registros que componen el registro orderingStore.

    Los conjuntos de elementos repetitivos se inician después del primer registro de cabecera. Cada conjunto de elementos repetitivo contiene tres registros hijo de diferente tipo, como se muestra en la siguiente ilustración:

    VegPO que muestra un conjunto de elementos repetitivo que contiene tres registros hijo de diferente tipo.

    Un registro repetitivo que contiene registros hijo de diferente tipo se puede modelar en el Editor de esquema de archivo sin formato mediante grupos. Los grupos son necesarios solo cuando los datos no proporcionan ningún delimitador adicional o estructura para marcar de forma clara el principio y el final de las repeticiones que contienen más de un registro. Los delimitadores de las repeticiones se hereda del registro padre o del nodo raíz. En este ejemplo del nodo raíz vegPO, el delimitador de repetición se establece en el fin de línea. El nodo de grupo orders utiliza el delimitador de fin de línea para analizar sus registros repetitivos.

  7. En el separador Diseño de esquema, pulse en el nodo de grupo orders. Observe los siguientes cambios gráficos en los paneles:
    • En el subpanel izquierdo del panel de prueba, todas las líneas después de la línea de cabecera están resaltadas. Esto indica que tras el análisis, todos los datos después del primer registro se asignan al nodo de grupo orders.
    • En el panel Propiedades básicas, las Apariciones del grupo orders son Ilimitadas. Esta configuración significa que puede haber una o más instancias de este grupo.
    • En el panel Propiedades básicas, para el grupo orders, el Tipo es igual a order. Esta configuración significa que el grupo orders se basa en el tipo de grupo order. El contenido y las propiedades del tipo de grupo order se definen en el separador Biblioteca de tipos.
  8. Seleccione el separador Biblioteca de tipos. Se mostrarán los tipos de registro y de grupo utilizados en el esquema de archivo sin formato vegPO. El tipo de grupo order contiene tres registros, como se muestra en la siguiente ilustración:
    Grupo order de vegPO

    El siguiente icono representa un registro basado en un tipo de registro:

    Icono de registro basado en un tipo.

    El grupo orders con el tipo de grupo order definen el conjunto de registros repetitivos de diferentes registros debido a las siguientes características:

    • Puede haber una o muchas instancias del grupo orders.
    • El tipo de grupo order contiene tres registros de diferente tipo.
    • El grupo orders se basa en o hereda el tipo de grupo order.
    La relación repetitiva entre el grupo orders y el tipo de grupo order se muestra en la siguiente ilustración:
    Patrón repetitivo de vegPO
  9. En el separador Biblioteca de tipos, pulse sobre el nodo de registro id del tipo de grupo order. Observe los siguientes cambios gráficos en los paneles:
    • En el panel Propiedades básicas, el Tipo del registro id es igual al tipo de registro denominado orderID. Esta configuración significa que el registro id se basa en el tipo de registro orderID.
    • En el subpanel izquierdo del panel de prueba, la primera línea de cada registro repetitivo se resalta como se muestra en la siguiente ilustración:
      ID de prueba de VegPO
      Esto indica que la primera línea de cada registro repetitivo se asigna al registro id.
  10. En el separador Biblioteca de tipos, pulse sobre el nodo de registro shipdate del tipo de grupo order. Observe los siguientes cambios gráficos en los paneles:
    • En el panel Propiedades básicas, el Tipo del registro shipdate es igual al tipo de registro denominado shippingDate. Esta configuración significa que el registro shipdate se basa en el tipo de registro shippingDate.
    • En el panel Propiedades básicas, la Estructura del registro shipdate es Posicional. Esta configuración significa que los campos hijo del registro shipDate están determinados por su posición y longitud en el registro y no por delimitadores.
    • En el subpanel izquierdo del panel de prueba, la segunda línea de cada registro repetitivo se resalta como se muestra en la siguiente ilustración:
      La figura indica que se resalta la segunda línea de cada registro (la línea shipDate).
      Esto indica que la segunda línea de cada registro repetitivo se asigna al registro shipDate. El registro shipDate contiene tres campos hijo posicionales (month, day, y year) heredados del tipo de registro shippingDate.
  11. En Biblioteca de tipos, pulse sobre el nodo month del tipo de registro shippingDate. En el subpanel izquierdo del panel de prueba, los valores asignados al campo month se resaltan como se muestra en la siguiente figura:
  12. En Biblioteca de tipos, pulse sobre el nodo de registro contents del tipo de grupo order. Observe los siguientes cambios gráficos en los paneles:
    • En el panel Propiedades básicas, el Tipo del registro contents es igual al tipo de registro denominado orderContent. Esta configuración significa que el registro contents se basa en el tipo de registro orderContent.
    • En el subpanel izquierdo del panel de prueba, la tercera línea de cada registro repetitivo se resalta como se muestra en la siguiente ilustración:
      La ilustración muestra que la tercera línea del registro repetitivo (que muestra el nombre de la verdura y el peso en libras) está resaltada.
      El tipo de registro orderContent contiene el registro vegetables. El registro vegetables contiene un conjunto de registros repetitivos vegetable. El registro vegetable contiene los campos name y pounds.
  13. En Biblioteca de tipos, pulse sobre el nodo de registro name del tipo de grupo orderContent. En el subpanel izquierdo del panel de prueba, los valores asignados al campo name se resaltan como se muestra en la siguiente figura:
    Esta ilustración muestra que los valores asignados al campo de nombre están resaltados.