<c:deepIterate> | Standard JET2 Control Tags
--- | ---

deepIterate

Do a deep (recusive) iteration by repeated evaluating the 'select' expression on previous results.

Tag Summary
required | <c:deepIterate select="value"> content to be repeated for each iteration </c:deepIterate>
full tag | <c:deepIterate select="value" filter="value" initialContext="value" var="value" delimiter="value" indent="value" varStatus="value" allowDuplicates="value" traversal="value"> content to be repeated for each iteration </c:deepIterate>

Required Attributes
select | The XPath selection that selects nodes. The expression should be relative.

Optional Attributes
filter | An optional XPath expression that remove elements after the deep traversal.
initialContext | Optional XPath expression defining the inital context object for the 'select' expression. If omitted, then the current XPath context object is used.
var | Optional XPath variable name that will refer to the XPath context object during traversal, and to the current object during each expansion of the tags contents.
delimiter | Optional string that will be inserted after each expansion of the tag's body, except the last.
indent | Optional string that will used to prefix each line in the expanded tag content. The number of times the text is inserted will depend on the depth of the current item in the traversal. The top most item will have no indent. Each deeper level will have one more insertion of the indent text that is parent level.
varStatus | Optional variable containing information on the current item in the traversal. The status object has the following attributes: @depth - a one-base index of the items depth in the traversal @isLeaf - defined if and only if the item is a leaf node. Not defined during evaluation of the 'select' attribute
allowDuplicates | Optional parameter indicating whether the traversal should allow the same node to be traversed more than once (so long as it does not resulting in a loop). Default is 'true'.
traversal | Optional parameter indicating the type of traversal. Possible values are 'depthFirst' and ' breadthFirst'. Default is 'depthFirst'.

Example
| <c:deepIterate select="value"> content to be repeated for each iteration </c:deepIterate>