annotate demo/metaform.ur @ 1840:146ec8e90063

Add some name-mangling rules to allow XML attribute 'name' and attributes with dashes
author Adam Chlipala <adam@chlipala.net>
date Thu, 27 Dec 2012 15:34:11 -0500
parents c7b9a33c26c8
children
rev   line source
adamc@418 1 functor Make (M : sig
adamc@418 2 con fs :: {Unit}
adamc@632 3 val fl : folder fs
adamc@643 4 val names : $(mapU string fs)
adamc@418 5 end) = struct
adamc@418 6
adamc@418 7 fun handler values = return <xml><body>
adamc@1176 8 {@mapUX2 [string] [string] [body]
adam@1302 9 (fn [nm :: Name] [rest ::_] [[nm] ~ rest] name value => <xml>
adamc@1093 10 <li> {[name]} = {[value]}</li>
adamc@1093 11 </xml>)
adamc@1093 12 M.fl M.names values}
adamc@418 13 </body></xml>
adamc@418 14
adamc@418 15 fun main () = return <xml><body>
adamc@418 16 <form>
adam@1302 17 {@foldUR [string] [fn cols => xml form [] (mapU string cols)]
adam@1303 18 (fn [nm :: Name] [rest ::_] [[nm] ~ rest] name acc => <xml>
adam@1303 19 <li> {[name]}: <textbox{nm}/></li>
adam@1303 20 {useMore acc}
adam@1303 21 </xml>)
adamc@1093 22 <xml/>
adamc@1093 23 M.fl M.names}
adamc@418 24 <submit action={handler}/>
adamc@418 25 </form>
adamc@418 26 </body></xml>
adamc@418 27
adamc@418 28 end