Skip to main content
summaryrefslogtreecommitdiffstats
blob: 3c7312730fb0d92c4333d50fd829c3ee5b6bac96 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<META name="GENERATOR" content="IBM Software Development Platform">
<link rel="STYLESHEET" href="../../../book.css" charset="ISO-8859-1" type="text/css"/>
<TITLE>&lt;c:deepIterate&gt; - Standard JET2 Control Tags</TITLE>
</HEAD>
<BODY>
<TABLE border="0" cellpadding="0" cellspacing="1" width="100%">
	<TBODY>
		<TR>
			<TH align="left">
			<P>&lt;c:deepIterate&gt;</P></TH>
			<TH align="right"><A href="overview.html">Standard JET2 Control Tags</A></TH>
		</TR>
	</TBODY>
</TABLE>
<HR>
<P><B>deepIterate</B></P>
<P><P>               Do a deep (recusive) iteration by repeated evaluating the 'select' expression on previous results.<P>            </P>
<HR>
<TABLE border="1" width="100%">
	<TBODY>
		<TR>
			<TH colspan="2" align="left">Tag Summary</TH></TR>
		<TR>
			<TD width="10%">required</TD>
			<TD><SPAN style="font-family: monospace">
			&lt;c:deepIterate select=&quot;<I>value</I>&quot;&gt;<br>
			&nbsp;&nbsp;&nbsp;&nbsp;<I>content to be repeated for each iteration</I><BR>
			&lt;/c:deepIterate&gt;
			</SPAN></TD>
		</TR>
		<TR>
			<TD width="10%">full tag</TD>
			<TD><SPAN style="font-family: monospace">
			&lt;c:deepIterate select=&quot;<I>value</I>&quot; filter=&quot;<I>value</I>&quot; initialContext=&quot;<I>value</I>&quot; var=&quot;<I>value</I>&quot; delimiter=&quot;<I>value</I>&quot; indent=&quot;<I>value</I>&quot; varStatus=&quot;<I>value</I>&quot; allowDuplicates=&quot;<I>value</I>&quot; traversal=&quot;<I>value</I>&quot;&gt;<br>
			&nbsp;&nbsp;&nbsp;&nbsp;<I>content to be repeated for each iteration</I><BR>
			&lt;/c:deepIterate&gt;
			</SPAN></TD>
		</TR>
	</TBODY>
</TABLE>
<HR>
<TABLE border="1" width="100%">
	<TBODY>
		<TR>
			<TH colspan="2" align="left">Required Attributes</TH></TR>
		<TR>
			<TD width="10%">select</TD>
			<TD><BR>                  The XPath selection that selects nodes. The expression should be relative.<BR>               </TD>
		</TR>
	</TBODY>
</TABLE>
<HR>
<TABLE border="1" width="100%">
	<TBODY>
		<TR>
			<TH colspan="2" align="left">Optional Attributes</TH></TR>
		<TR>
		<TR>
			<TD width="10%">filter</TD>
			<TD><BR>                  An optional XPath expression that remove elements after the deep traversal.<BR>               </TD>
		</TR>
		<TR>
			<TD width="10%">initialContext</TD>
			<TD><BR>                  Optional XPath expression defining the inital context object for the 'select' expression. If omitted, then the current XPath context object is used.<BR>               </TD>
		</TR>
		<TR>
			<TD width="10%">var</TD>
			<TD><BR>                  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.<BR>               </TD>
		</TR>
		<TR>
			<TD width="10%">delimiter</TD>
			<TD><BR>                  Optional string that will be inserted after each expansion of the tag's body, except the last.<BR>               </TD>
		</TR>
		<TR>
			<TD width="10%">indent</TD>
			<TD><BR>                  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.<BR>               </TD>
		</TR>
		<TR>
			<TD width="10%">varStatus</TD>
			<TD><BR>                  Optional variable containing information on the current item in the traversal. The status object has the following attributes: <BR><BR>@depth - a one-base index of the items depth in the traversal<BR>@isLeaf - defined if and only if the item is a leaf node. Not defined during evaluation of the 'select' attribute<BR>               </TD>
		</TR>
		<TR>
			<TD width="10%">allowDuplicates</TD>
			<TD><BR>                  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'.<BR>               </TD>
		</TR>
		<TR>
			<TD width="10%">traversal</TD>
			<TD><BR>                  Optional parameter indicating the type of traversal. Possible values are 'depthFirst' and ' breadthFirst'. Default is 'depthFirst'.<BR>               </TD>
		</TR>
	</TBODY>
</TABLE>
<HR>
<TABLE border="1" width="100%">
	<TBODY>
		<TR>
			<TH colspan="2" align="left">Example</TH></TR>
		<TR>
			<TD width="10%"></TD>
			<TD><SPAN style="font-family: monospace">
<!-- Begin deepIterate example -->
			&lt;c:deepIterate select=&quot;<I>value</I>&quot;&gt;<br>
			&nbsp;&nbsp;&nbsp;&nbsp;<I>content to be repeated for each iteration</I><BR>
			&lt;/c:deepIterate&gt;
<!-- End deepIterate example -->
</SPAN></TD>
		</TR>
	</TBODY>
</TABLE>
<P></P></BODY>
</HTML>

Back to the top