En spécifiant un prédicat XPath de filtrage à l'exécution, vous pouvez limiter les noeuds récurrents renvoyés par une activité de mappage.
Pourquoi et quand exécuter cette tâche
Le filtrage à l'aide d'un prédicat directement dans les panneaux de mappage des activités rendent les activités suivantes inutiles :
- L'activité Pendant que ou Pour chaque qui établit une boucle dans les structures récurrentes
- L'activité Si...Alors pour tester les valeurs.
L'élimination des activités Pendant que et
Si...Alors améliore les performances de l'orchestration.
Par exemple, vous pouvez limiter les livres renvoyés par l'orchestration
BatchOrderProcessingSample afin de renvoyer uniquement les titres de livre qui commencent par la lettre B, à l'aide de l'une des méthodes suivantes :
- Après l'activité Lire fichier à plat qui convertit des données de fichier à plat en XML, vous pouvez ajouter une activité Pendant que contenant une activité Si..Alors qui recherche tous les titres de livre commençant par la lettre B. Lorsque l'activité Pendant que se termine, elle renvoie l'ensemble de noeuds BookOrder récurrents dont le titre commence par la lettre B.
- Procédez au filtrage en indiquant un prédicat directement dans le panneau Vers l'orchestration de la tâche Mapper les sorties de l'activité Lire fichier à plat qui convertit des données de fichier à plat en XML.
Cette méthode est préconisée car elle réduit le traitement à l'exécution, améliorant ainsi les performances de l'orchestration. Par exemple, vous pouvez spécifier le prédicat suivant sur le noeud BookOrder récurrent afin de limiter les noeuds Bookorder renvoyés pendant l'exécution aux seuls titres commençant par la lettre B :*:title/starts-with(.,'B')
Cet exemple de prédicat est expliqué dans le tableau suivant :
Caractères de prédicat |
Description |
*: |
Spécifie que ce prédicat s'applique à tout espace de nom du noeud source. |
title/ |
Spécifie d'appliquer ce prédicat au noeud de titre du noeud source en cours. |
starts-with(.,'B') |
Spécifie que ce prédicat renvoie uniquement les noeuds dont le titre commence par la lettre B. La fonction starts-with est une fonction XPath intégrée. |
Pour plus d'informations sur l'exemple BookOrder, voir le manuel Getting
Started Guide. Si vous avez accepté les valeurs par défaut pendant l'installation de Studio, l'implémentation de référence de cet exemple se trouve dans le répertoire suivant :C:\Program Files\IBM\WebSphere
Cast Iron Studio 3.X\Samples\BookOrder
Pour spécifier un prédicat sur un noeud récurrent :