Filtro de nodos recurrentes

Si especifica un predicado de XPath para utilizarlo como filtro durante el tiempo de ejecución, podrá limitar los nodos recurrentes devueltos por una actividad de correlación.

Acerca de esta tarea

El filtrado mediante un predicado directamente en los paneles de correlación de las actividades elimina la necesidad de realizar estas actividades:
  • Una actividad Bucle while o Para cada que recorra en bucle las estructuras recurrentes
  • Una actividad If...Then para probar los valores.
La eliminación del recorrido en bucle y de las actividades If..Then mejora el rendimiento de la orquestación.
Por ejemplo, puede limitar el número de libros procesados por la orquestación BatchOrderProcessingSample para que devuelva únicamente los títulos de libro que empiecen por la letra B mediante uno de los siguientes métodos:
  • Después de la actividad Leer archivo sin formato, que convierte datos de archivo sin formato a XML, puede añadir una actividad Bucle while que contenga una actividad If..Then que pruebe todos los títulos de libro que empiecen por la letra B. Cuando finalice la actividad Bucle while en tiempo de ejecución, devolverá el conjunto de nodos BookOrder recurrentes que tengan títulos que empiecen por la letra B.
  • Aplique un filtro especificando un predicado directamente en el panel A orquestación de la tarea Correlacionar salidas de la actividad Leer archivo sin formato que convierta datos de archivo sin formato en XML. Este es el método preferido porque reduce el proceso durante el tiempo de ejecución, lo que mejora el rendimiento de la orquestación. Por ejemplo, puede especificar el siguiente predicado en el nodo BookOrder recurrente para limitar los nodos Bookorder devueltos durante el tiempo de ejecución únicamente a los títulos que empiecen por la letra B:*:title/starts-with(.,'B')
Este predicado de ejemplo se explica en la siguiente tabla:
Caracteres de predicado Descripción
*: Especifica que este predicado se aplica a todos los espacios de nombres del nodo de origen.
title/ Especifica que este predicado debe aplicarse al nodo de título del nodo de origen actual.
starts-with(.,'B') Especifica que este predicado sólo devuelve los nodos que tienen nodos de título que empiezan por la letra B. La función starts-with es una función de XPath integrada.

Para obtener más información acerca del ejemplo de BookOrder, consulte la Guía de inicio. Si ha aceptado los valores predeterminados durante la instalación de Studio, podrá encontrar la implementación de referencia del ejemplo en el siguiente directorio: C:\Archivos de programa\IBM\WebSphere Cast Iron Studio 3.X\Samples\BookOrder

Para especificar un predicado en un nodo recurrente:

Procedimiento

  1. Sólo puede aplicar un filtro a un nodo de destino recurrente que esté correlacionado con un nodo de origen recurrente en los paneles de correlación de las actividades, como se muestra en el siguiente panel Correlacionar salidas de la actividad Leer archivo sin formato en la orquestación BatchOrderProcessingSample:
  2. Pulse con el botón derecho del ratón sobre el nodo de aparición de destino (en este ejemplo, BookOrder/occurrence) y seleccione Filtrar nodos recurrentes en el menú. Se abrirá el recuadro de diálogo Filtrar nodos recurrentes.
  3. Especifique el predicado XPath. En este ejemplo, especifique el predicado que se muestra en la siguiente ilustración:
  4. Pulse Aceptar. El predicado se evalúa para determinar si es válido:
    • Si no es válido, se enviará un mensaje de error.
    • Si es válido, el icono de filtro (Icono de nodo recurrente) se mostrará junto al nodo de aparición de destino.