The ModelAnt’s util package provides for task iterates over a collection of objects, provided as a nested selector (like ANT standard <fileset>), and executes the nested tasks in a new separate (local) environment, binding in it the current object to process into a local property. The execution of each iteration in a single environment isolates the changes they make. The name to bind the current object is provided in iterator attribute (default: this).
See the documentation of for task.
For example, when run in modelant/util/test/xml directory, this fragment:
<for>
<fileset dir=".">
<include name="*.xml"/>
</fileset>
<tasks>
<echo>${this}</echo>
</tasks>
</for>
produces the output:
[echo] test-dynamic.xml [echo] test-eval.xml [echo] test-exists.xml [echo] test-filter.xml [echo] test-if.xml [echo] test-list.xml [echo] test-local.xml [echo] test-method.xml [echo] test-search.xml [echo] test-select.xml
