Source

The source element defines the location of input data. Attributes on the source specify whether the value from the source should be passed to the target and whether the source data should be iterated over.

<source does-for-each='yes|no' passes-value='yes|no'>
		data path
</source>

Parameters

does-for-each
Specifies whether the data path should be processed many times, as if in a 'for-each(data-path)' loop. See the remarks below for more information on this parameter. This parameter is optional.
passes-value
Specifies if the value of the data referred to by the data path should be passed to the output. See remarks below for the default value of this parameter. This parameter is optional.
data-path
Provides the fully qualified data path into the input data. For example, if the input data looked like this:
<data>
  <purchase-order>
    <date>10101999</date>
  </purchase-order>
</data>
The fully qualified path to the date would be data/purchase-order/date.
This parameter is mandatory.

Remarks

The does-for-each and passes-value attributes are optional. If either are omitted a default value is used dependent on whether the data pointed to by the data-path has any child elements.

has children: for-each = yes, passes-value = no

does not have children: for-each = no, passes-value = yes

Note: Where there are multiple sources specified, only one of them may have a for-each parameter with the value yes.