<foreach>
繰り返し実行される一連のアクティビティを定義します。
構文
<foreach property="P1" key="K1">
...
</foreach>
詳細
属性または要素 | 説明 | 値 |
---|---|---|
property 属性 | 必須項目。繰り返しが行われるコレクション・プロパティ (リストまたは配列)。これは、実行コンテキスト内の有効なオブジェクト名およびプロパティ名である必要があります。 | 1 文字以上の文字列。 |
key 属性 | 必須項目。コレクション内で繰り返しを実行するために使用するインデックス。これは、実行コンテキスト内の有効なオブジェクト名およびプロパティ名である必要があります。コレクション内の要素ごとに値が割り当てられます。 | 1 文字以上の文字列。 |
name、disabled、xpos、ypos、xend、yend 属性 | "一般的な属性と要素" を参照してください。 | |
<annotation> 要素 | ||
その他の要素 | オプション。<foreach> には、<alert>、<assign>、<branch>、<break>、<call>、<code>、<continue>、<delay>、<empty>、<flow>、<foreach>、<if>、<label>、<milestone>、<reply>、<rule>、<scope>、<sequence>、<sql>、<switch>、<sync>、<throw>、<trace>、<transform>、<until>、<while>、<xpath> および <xslt> をゼロ個以上、自由に組み合わせて使用できます。 |
説明
<foreach> 要素では、繰り返し実行される一連のアクティビティを定義します。これらのアクティビティは、指定したコレクション・プロパティ内の各要素について 1 回ずつ実行されます。以下に例を示します。
<foreach property="callrequest.Location" key="context.K1">
<assign property="total"
value="context.total+context.prices.GetAt(context.K1)"/>
</foreach>
<foreach> 要素は以下の変数とそのプロパティを参照できます。このリストに示されていない変数を使用しないでください。
変数 | 目的 |
---|---|
context | context オブジェクトは、ビジネス・プロセスの汎用データ・コンテナです。context は自動的には定義されません。このオブジェクトのプロパティを定義するには、<context> 要素を使用します。その場合、<process> 要素内でこれらのプロパティを参照するには、context.Balance のようにドット構文を使用します。 |
request | request オブジェクトには、このビジネス・プロセスをインスタンス化させた元の要求メッセージ・オブジェクトのプロパティが含まれます。<process> 要素内で request のプロパティを参照するには、request.UserID のようにドット構文を使用します。 |
response | response オブジェクトには、ビジネス・オブジェクトが返す最終的な応答メッセージ・オブジェクトの構築に必要となるすべてのプロパティが含まれます。response.IsApproved と同様に、ドット構文を使用して、<process> 要素内部の response プロパティを参照できます。これらのプロパティに値を割り当てるには <assign> 要素を使用します。 |
ループの実行を微調整するには、<foreach> 要素内で <break> 要素と <continue> 要素を使用します。詳細は、各要素の説明を参照してください。