Array Mapping Strategies

Specific array handling strategies can be selected for mappings to multi-instance target data.

Overwrite, append, and merge are the three mapping strategies that are applicable for array types. By default, the target list is overwritten with the source list.

Each mapping strategy affects the target list differently:
Overwrite

When mapping directly between arrays, clears the target array and copies the elements from the source array.

When mapping between children of arrays, clears the target array and creates a new target element for each element in the source array. The assignments implied by the child mappings are then applied to parent elements in the same location in the source and target array.

Append

When mapping directly between arrays, copies elements in the source array to the end of the target array.

When mapping between children of arrays, creates a new element for each element in the source array and appends to the target array. The assignments implied by the child mappings are then applied to new target elements from the source elements.

Merge

When mapping directly between arrays, overwrites each element in the target array for which there is an element at the same location in the source array by a copy of the source element. If there are further elements in the source array then they are appended to the target array.

When mapping between children of arrays, each element in the target array for which there is an element at the same location in the source array will have the assignments implied by the child mappings applied from that source element.

If there are further elements in the source array then new target elements are created and appended to the target array, and the assignments will be applied to the children of these new elements.

Nested Array Handling

In the case where it is desired to map to an array nested within another array, either directly or mapping into the child content, then you must do it from equivalently nested source arrays.

For example, if your target content is an Orders array, with a child array of OrderLines then in order to map into Orders[]->OrderLines[]->LineId then the mapping must be from an element within a second level nesting source array (MyConfirmations[]->ConfirmationLine[]->LineConfirmId).

To configure an array mapping strategy, drag an element from the source list or LHS and drop it on a corresponding element in the target list or RHS. Define one of the following mapping strategies by right-clicking the target tree array items:
  • Overwrite Target List
  • Append to Target List
  • Merge List Element Content