このタスクについて
アクティビティーのマッピング・ペインで述部を直接使用してフィルターすることで、
以下のアクティビティーの必要性を排除できます。
- 繰り返し構造内でループする「While ループ (While Loop)」または「For Each」アクティビティー。
- 値をテストするための「If...Then」アクティビティー。
ループおよび
「If..Then」アクティビティーを排除することで、
オーケストレーションのパフォーマンスが向上します。
例えば、
以下のいずれかの方法を使用して、
BatchOrderProcessingSample オーケストレーション
によって処理される書籍の数を制限し、文字 B で始まる書名
のみを返すことができます。
- フラット・ファイル・データを XML に変換する「フラット・ファイルの読み取り」
アクティビティーの後、文字 B で始まるすべての書名をテストする
「If..Then」アクティビティーを含む
「While ループ (While Loop)」アクティビティーを追加できます。
実行時に「While ループ (While Loop)」アクティビティーが完了すると、
文字 B で始まる書名を持つ BookOrder 繰り返しノードのセットが
返されます。
- フラット・ファイル・データを XML に変換する「フラット・ファイルの読み取り」アクティビティーの「出力のマップ」タスクの「オーケストレーションへ」ペインで、述部を直接指定してフィルタリングします。実行時の処理が減少し、オーケストレーションのパフォーマンスが向上するため、
この方法をお勧めします。例えば、BookOrder 繰り返しノードで述部
*:title/starts-with(.,'B') を指定し、
文字 B で始まる書名のみを対象とすることで、
実行時に返される Bookorder ノードを制限できます。
この述部の例については、次の表で説明します。
述部の文字 |
説明 |
*: |
この述部がソース・ノード内のすべての名前空間に
適用されることを指定します。 |
title/ |
この述部が現在のソース・ノードの title ノードに
適用されることを指定します。 |
starts-with(.,'B') |
この述部が、文字 B で始まる title ノードを持つ
ノードのみを返すことを指定します。starts-with 関数は
XPath の組み込み関数です。 |
BookOrder サンプルについて詳しくは、
「Getting Started Guide」を参照してください。Studio のインストール時にデフォルトを受け入れた場合、サンプルの参照実装環境は C:¥Program Files¥IBM¥WebSphere Cast Iron Studio 3.X¥Samples¥BookOrder ディレクトリー内にあります。
繰り返しノードの
述語を指定するには、次のようにします。