Skip to end of metadata
Go to start of metadata

By using this block, you can perform a set of operations (tasks) on each repetition of a record in a data structure entity. You can think of it as if the XML data in the context store are sliced and sub-workflow (block) is executed for each slice.



Enter an XPath expression, which will define the XML slice for the for-each iteration.

Example iterator XPaths:

/ROOT/Invoice will iterate on every invoice in the context.

/ROOT/Invoice/InvoiceDetail will iterate on every invoice detail in the context. The context will always include all the parent elements of InvoiceDetail, e.g. Invoice.

/ROOT/Invoice[State='Approved'] will iterate on every Invoice element, whose state is Approved. The context will include always 1 Invoice element with all the sub-elements (InvoiceDetails etc.).

SourceContextStoreSpecifies the context store, on which the for-each operation will be based. As mentioned earlier, for each iteration the context store of this block will be filled only by the sliced data.


You have the following XML data in your context:


In this case we have 2 invoices, each with some invoice details. Let's say we need to send an e-mail notification for each invoice. For this we will set up a for-each block, in which we will slice the Invoice context by Invoice element. In this case the block will be executed twice. The context on which we perform for-each will contain only the data slice inside the block. E.g. on every iteration the context will contain different invoice. The steps in the block can then repeat the same operation (e.g. compose and send an e-mail message), always with different data in each iteration.

All other context stores will be visible inside the for-each block and will contain all their data.

  • No labels