Combinators for constructing HTML elements. The library does not
enforce that the generated HTML conforms to the definition of any HTML
standard. It does, however, ensure that elements are wellformed.
structure Html : HTML
signature HTML =
sigtype t (* elements *)
type attrs = (string * string) list (* attributes *)
(* General operations *)
val& : t * t -> t
val$ : string -> t
valseq : t list -> t
valtoString : t -> string
valcomment : t -> t
(* HTML documents and headers *)
valhtml : t -> t
valhead : t -> t
valtitle : t -> t
valbody : t -> t
valbodya : attrs -> t -> t
(* HTML headings and vertical format *)
valh1 : t -> t
valh2 : t -> t
valh3 : t -> t
valh4 : t -> t
valh5 : t -> t
valh6 : t -> t
valh1a : attrs -> t -> t
valh2a : attrs -> t -> t
valh3a : attrs -> t -> t
valh4a : attrs -> t -> t
valh5a : attrs -> t -> t
valh6a : attrs -> t -> t
valp : t -> t
valpa : attrs -> t -> t
valbr : t
valbra : attrs -> t
valhr : t
valhra : attrs -> t
valdivi : t -> t
valdivia : attrs -> t -> t
valspan : attrs -> t -> t
valblockquote : t -> t
valblockquotea : attrs -> t -> t
valcenter : t -> t
valaddress : t -> t
valpre : t -> t
(* HTML anchors and hyperlinks *)
valahref : string -> t -> t
valahrefa : attrs -> string -> t -> t
valaname : string -> t -> t
(* HTML text formats and style *)
valem : t -> t
valstrong : t -> t
valtt : t -> t
valsub : t -> t
valsup : t -> t
(* HTML lists *)
valul : t -> t
valula : attrs -> t -> t
valol : t -> t
valola : attrs -> t -> t
valli : t -> t
valdl : t -> t
valdla : attrs -> t -> t
valdt : t -> t
valdd : t -> t
(* HTML tables *)
valtable : t -> t
valtablea : attrs -> t -> t
valtr : t -> t
valtra : attrs -> t -> t
valtd : t -> t
valtda : attrs -> t -> t
valth : t -> t
valtha : attrs -> t -> t
valcaption : t -> t
valcaptiona : attrs -> t -> t
(* HTML images and image maps *)
valimg : string -> t
valimga : attrs -> string -> t
(* HTML forms etc *)
valform : string -> t -> t
valforma : attrs -> string -> t -> t
valinput : string -> t
valinputa : string -> attrs -> t
valintext : string -> attrs -> t
valinpassword : string -> attrs -> t
valincheckbox : {name : string, value : string} -> attrs -> t
valinradio : {name : string, value : string} -> attrs -> t
valinreset : string -> attrs -> t
valinsubmit : string -> attrs -> t
valinhidden : {name : string, value : string} -> t
valtextarea : string -> t -> t
valtextareaa : string -> attrs -> t -> t
valselect : string -> attrs -> t -> t
valoption : string -> t
(* HTML encoding *)
valurlencode : string -> string
valhtmlencode : string -> string
end
[t]
is the common type for holding elements of any kind. The
implementation ensures that concatenation of elements using & and seq
is efficient. Constructing HTML, functionall, as a value of type t, is
more efficient than building it (functionally) as a string, and more
convenient and modular than building it (imperatively) by calling
print.
returns the url-encoding of s. That is, space (ASCII
32) is replaced by `+' and every non-alphanumeric character c except
the characters - _ . is replaced by %hh, where hh is the hexadecimal
representation of the ASCII code of c.