+let html_of_html_msg =
+ let rec string_of_html_tag = function
+ | `T s -> s
+ | `L msgs ->
+ sprintf "<ul>\n%s\n</ul>"
+ (String.concat "\n"
+ (List.map
+ (fun msg -> sprintf "<li>%s</li>" (string_of_html_tag msg))
+ msgs))
+ | `BR -> "<br />\n"
+ in
+ function
+ | `Error tag -> "<b>Error: " ^ string_of_html_tag tag ^ "</b>"
+ | `Msg tag -> string_of_html_tag tag
+