blob: 71bd1e821f7e63e193e7f4c5529e7dd67863eb35 (
plain)
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
|
fun sub r =
let
fun sub' ls =
case ls of
[] => <xml/>
| r :: ls => <xml>
<li>{[r.Num]} = {[r.Text]}</li>
{sub' ls}
</xml>
in
return <xml><body>
{sub' r.Lines}
</body></xml>
end
fun subforms n =
if n <= 0 then
<xml/>
else
<xml>
<entry>
<hidden{#Num} value={show n}/>
<li>{[n]}: <textbox{#Text}/></li>
</entry>
{subforms (n - 1)}
</xml>
fun form n = return <xml><body>
<form>
<subforms{#Lines}>
{subforms n}
</subforms>
<submit action={sub}/>
</form>
<a link={form (n + 1)}>One more blank</a><br/>
{if n > 0 then
<xml><a link={form (n - 1)}>One fewer blank</a></xml>
else
<xml/>}
</body></xml>
fun main () = form 1
|