implementation module htmlDataDef
import StdStrictLists, StdString
import htmlStyleDef, htmlStylelib
gHpr{|Html|} prev (Html head rest) = prev <+ htmlbegin <+ head <+ rest <+ htmlend
where
htmlbegin = ""
htmlend = ""
gHpr{|Head|} prev (Head attr tags) = prev <+> htmlAttrCmnd "head" attr tags
gHpr{|HeadTag|} prev (Hd_Base attr) = prev <+> openCmnd "base" attr
gHpr{|HeadTag|} prev (Hd_Basefont attr) = prev <+> openCmnd "basefont" attr
gHpr{|HeadTag|} prev (Hd_Link attr) = prev <+> openCmnd "link" attr
gHpr{|HeadTag|} prev (Hd_Meta attr) = prev <+> openCmnd "meta" attr
gHpr{|HeadTag|} prev (Hd_Object attr param) = prev <+> htmlAttrCmnd "object" attr param
gHpr{|HeadTag|} prev (Hd_Script attr text) = prev <+> htmlAttrCmnd "script" attr text
gHpr{|HeadTag|} prev (Hd_Style attr text) = prev <+> htmlAttrCmnd "style" attr text
gHpr{|HeadTag|} prev (Hd_Title text) = prev <+> htmlAttrCmnd "title" None text
gHpr{|Rest|} prev (Body attr body) = prev <+> htmlAttrCmnd "body" attr body
gHpr{|Rest|} prev (Frameset attr frames) = prev <+> htmlAttrCmnd "frameset" attr frames
gHpr{|Frame|} prev (Frame attr) = prev <+> openCmnd "frame" attr
gHpr{|Frame|} prev (NoFrames attr body) = prev <+> htmlAttrCmnd "noframes" attr body
gHpr{|BodyTag|} prev (A attr body) = prev <+> htmlAttrCmnd "a" attr body
gHpr{|BodyTag|} prev (Abbr attr text) = prev <+> htmlAttrCmnd "abbr" attr text
gHpr{|BodyTag|} prev (Acronym attr text) = prev <+> htmlAttrCmnd "acronym" attr text
gHpr{|BodyTag|} prev (Address attr text) = prev <+> htmlAttrCmnd "address" attr text
gHpr{|BodyTag|} prev (Applet attr text) = prev <+> htmlAttrCmnd "applet" attr text
gHpr{|BodyTag|} prev (Area attr) = prev <+> openCmnd "area" attr
gHpr{|BodyTag|} prev (B attr text) = prev <+> htmlAttrCmnd "b" attr text
gHpr{|BodyTag|} prev (Bdo attr text) = prev <+> htmlAttrCmnd "bdo" attr text
gHpr{|BodyTag|} prev (Big attr text) = prev <+> htmlAttrCmnd "big" attr text
gHpr{|BodyTag|} prev (Blink attr text) = prev <+> htmlAttrCmnd "blink" attr text
gHpr{|BodyTag|} prev (Blockquote attr text) = prev <+> htmlAttrCmnd "blockquote" attr text
gHpr{|BodyTag|} prev Br = prev <+ "
"
gHpr{|BodyTag|} prev (Button attr text) = prev <+> htmlAttrCmnd "button" attr text
gHpr{|BodyTag|} prev (Caption attr text) = prev <+> htmlAttrCmnd "caption" attr text
gHpr{|BodyTag|} prev (Center attr text) = prev <+> htmlAttrCmnd "center" attr text
gHpr{|BodyTag|} prev (Cite attr text) = prev <+> htmlAttrCmnd "cite" attr text
gHpr{|BodyTag|} prev (Code attr text) = prev <+> htmlAttrCmnd "code" attr text
gHpr{|BodyTag|} prev (Col attr) = prev <+> htmlAttrCmnd "col" attr None
gHpr{|BodyTag|} prev (Colgroup attr) = prev <+> htmlAttrCmnd "colgroup" attr None
gHpr{|BodyTag|} prev (Comment text) = prev <+ ""
gHpr{|BodyTag|} prev (Dd attr body) = prev <+> htmlAttrCmnd "dd" attr body
gHpr{|BodyTag|} prev (Del attr text) = prev <+> htmlAttrCmnd "del" attr text
gHpr{|BodyTag|} prev (Dfn attr text) = prev <+> htmlAttrCmnd "dfn" attr text
gHpr{|BodyTag|} prev (Dir attr body) = prev <+> htmlAttrCmnd "dir" attr body
gHpr{|BodyTag|} prev (Div attr body) = prev <+> htmlAttrCmnd "div" attr body
gHpr{|BodyTag|} prev (Dl attr body) = prev <+> htmlAttrCmnd "dl" attr body
gHpr{|BodyTag|} prev (Dt attr body) = prev <+> htmlAttrCmnd "dt" attr body
gHpr{|BodyTag|} prev (Em attr text) = prev <+> htmlAttrCmnd "em" attr text
gHpr{|BodyTag|} prev (Fieldset attr body) = prev <+> htmlAttrCmnd "fieldset" attr body
gHpr{|BodyTag|} prev (Font attr body) = prev <+> htmlAttrCmnd "font" attr body
gHpr{|BodyTag|} prev (Form attr body) = prev <+> htmlAttrCmnd "form" attr body
gHpr{|BodyTag|} prev (H1 attr text) = prev <+> htmlAttrCmnd "h1" attr text
gHpr{|BodyTag|} prev (H2 attr text) = prev <+> htmlAttrCmnd "h2" attr text
gHpr{|BodyTag|} prev (H3 attr text) = prev <+> htmlAttrCmnd "h3" attr text
gHpr{|BodyTag|} prev (H4 attr text) = prev <+> htmlAttrCmnd "h4" attr text
gHpr{|BodyTag|} prev (H5 attr text) = prev <+> htmlAttrCmnd "h5" attr text
gHpr{|BodyTag|} prev (H6 attr text) = prev <+> htmlAttrCmnd "h6" attr text
gHpr{|BodyTag|} prev (Hr attr) = prev <+> openCmnd "hr" attr
gHpr{|BodyTag|} prev (I attr text) = prev <+> htmlAttrCmnd "i" attr text
gHpr{|BodyTag|} prev (Iframe attr) = prev <+> htmlAttrCmnd "iframe" attr None
gHpr{|BodyTag|} prev (Img attr) = prev <+> openCmnd "img" attr
gHpr{|BodyTag|} prev (Input attr text) = prev <+> htmlAttrCmnd "input" attr text
gHpr{|BodyTag|} prev (Ins attr text) = prev <+> htmlAttrCmnd "ins" attr text
gHpr{|BodyTag|} prev (Kbd attr text) = prev <+> htmlAttrCmnd "kbd" attr text
gHpr{|BodyTag|} prev (Label attr text) = prev <+> htmlAttrCmnd "label" attr text
gHpr{|BodyTag|} prev (Legend attr text) = prev <+> htmlAttrCmnd "legend" attr text
gHpr{|BodyTag|} prev (Li attr body) = prev <+> htmlAttrCmnd "li" attr body
gHpr{|BodyTag|} prev (Map attr body) = prev <+> htmlAttrCmnd "map" attr body
gHpr{|BodyTag|} prev (Menu attr body) = prev <+> htmlAttrCmnd "menu" attr body
gHpr{|BodyTag|} prev (Noscript attr text) = prev <+> htmlAttrCmnd "noscript" attr text
gHpr{|BodyTag|} prev (Body_Object attr param) = prev <+> htmlAttrCmnd "object" attr param
gHpr{|BodyTag|} prev (Ol attr body) = prev <+> htmlAttrCmnd "ol" attr body
gHpr{|BodyTag|} prev (P attr body) = prev <+> htmlAttrCmnd "p" attr body
gHpr{|BodyTag|} prev (Pre attr body) = prev <+> htmlAttrCmnd "pre" attr body
gHpr{|BodyTag|} prev (Q attr text) = prev <+> htmlAttrCmnd "q" attr text
gHpr{|BodyTag|} prev (S attr text) = prev <+> htmlAttrCmnd "s" attr text
gHpr{|BodyTag|} prev (Samp attr text) = prev <+> htmlAttrCmnd "samp" attr text
gHpr{|BodyTag|} prev (Small attr text) = prev <+> htmlAttrCmnd "small" attr text
gHpr{|BodyTag|} prev (Script attr text) = prev <+> htmlAttrCmnd "script" attr text
gHpr{|BodyTag|} prev (Select attr opts) = prev <+> htmlAttrCmnd "select" attr opts
gHpr{|BodyTag|} prev (Span attr body) = prev <+> htmlAttrCmnd "span" attr body
gHpr{|BodyTag|} prev (Strike attr text) = prev <+> htmlAttrCmnd "strike" attr text
gHpr{|BodyTag|} prev (Strong attr text) = prev <+> htmlAttrCmnd "strong" attr text
gHpr{|BodyTag|} prev (Sub attr text) = prev <+> htmlAttrCmnd "sub" attr text
gHpr{|BodyTag|} prev (Sup attr text) = prev <+> htmlAttrCmnd "sup" attr text
gHpr{|BodyTag|} prev (Table attr body) = prev <+> htmlAttrCmnd "table" attr body
gHpr{|BodyTag|} prev (TBody attr body) = prev <+> htmlAttrCmnd "tbody" attr body
gHpr{|BodyTag|} prev (Td attr body) = prev <+> htmlAttrCmnd "td" attr body
gHpr{|BodyTag|} prev (TFoot attr body) = prev <+> htmlAttrCmnd "tfoot" attr body
gHpr{|BodyTag|} prev (Th attr body) = prev <+> htmlAttrCmnd "th" attr body
gHpr{|BodyTag|} prev (THead attr body) = prev <+> htmlAttrCmnd "thead" attr body
gHpr{|BodyTag|} prev (Textarea attr text) = prev <+> htmlAttrCmnd "textarea" attr text
gHpr{|BodyTag|} prev (Tr attr body) = prev <+> htmlAttrCmnd "tr" attr body
gHpr{|BodyTag|} prev (Tt attr text) = prev <+> htmlAttrCmnd "tt" attr text
gHpr{|BodyTag|} prev (Txt text) = prev <+ text
gHpr{|BodyTag|} prev (InlineCode text) = [|text:prev]
gHpr{|BodyTag|} prev (U attr text) = prev <+> htmlAttrCmnd "u" attr text
gHpr{|BodyTag|} prev (Ul attr body) = prev <+> htmlAttrCmnd "ul" attr body
gHpr{|BodyTag|} prev (Var attr text) = prev <+> htmlAttrCmnd "var" attr text
// special BodyTags
gHpr{|BodyTag|} prev (STable atts table) = prev <+> htmlAttrCmnd "table" atts (BodyTag (mktable table))
where
mktable table = [Tr [] (mkrow rows) \\ rows <- table]
mkrow rows = [Td [Td_VAlign Alo_Top] [row] \\ row <- rows ]
gHpr{|BodyTag|} prev EmptyBody = prev
gHpr{|BodyTag|} prev (BodyTag listofbodies) = prev <+ listofbodies
gHpr{|Script|} prev (SScript string) = prev <+ string
gHpr{|Script|} prev (FScript fof) = prev <+> fof
gHpr{|Option|} prev (Option attr text) = prev <+> htmlAttrCmnd "option" attr text
gHpr{|Option|} prev (Optgroup attr) = prev <+> openCmnd "optgroup" attr
gHpr{|Value|} prev (SV string) = prev <+ "\"" <+ string <+ "\""
gHpr{|Value|} prev (IV int) = prev <+ toString int
gHpr{|Value|} prev (RV real) = prev <+ toString real
gHpr{|Value|} prev (BV bool) = prev <+ toString bool
gHpr{|Value|} prev (NQV string) = prev <+ string
gHpr{|ScriptType|} prev (TypeEcmascript) = prev <+ "\"text/Emacscript\""
gHpr{|ScriptType|} prev (TypeJavascript) = prev <+ "\"text/Javascript\""
gHpr{|ScriptType|} prev (Typejscript) = prev <+ "\"text/jscript\""
gHpr{|ScriptType|} prev (TypeVbscript) = prev <+ "\"text/Vbscript\""
gHpr{|ScriptType|} prev (TypeVbs) = prev <+ "\"text/Vbs\""
gHpr{|ScriptType|} prev (TypeXml) = prev <+ "\"text/Xml\""
gHpr{|SizeOption|} prev (Pixels num) = prev <+ "\"" <+ num <+ "\""
gHpr{|SizeOption|} prev (Percent num) = prev <+ "\"" <+ num <+ "%\""
gHpr{|SizeOption|} prev (RelLength num) = prev <+ "\"" <+ num <+ "*\""
//gHpr{|Ins_Attr|} prev (Ins_Datetime y m d) = prev <+ " datetime=\"" <+ y <+ m <+ d <+ "\""
gHpr{|RGBColor|} prev (RGBColor r g b) = prev <+ "\"RGB(" <+ r <+ "," <+ g <+ "," <+ b <+ ")\""
gHpr{|Hexnum|} prev (Hexnum h0 h1 h2 h3 h4 h5) = prev <+ "#" <+ h0 <+ h1 <+ h2 <+ h3 <+ h4 <+ h5
gHpr{|HN|} prev H_0 = prev <+ "0"
gHpr{|HN|} prev H_1 = prev <+ "1"
gHpr{|HN|} prev H_2 = prev <+ "2"
gHpr{|HN|} prev H_3 = prev <+ "3"
gHpr{|HN|} prev H_4 = prev <+ "4"
gHpr{|HN|} prev H_5 = prev <+ "5"
gHpr{|HN|} prev H_6 = prev <+ "6"
gHpr{|HN|} prev H_7 = prev <+ "7"
gHpr{|HN|} prev H_8 = prev <+ "8"
gHpr{|HN|} prev H_9 = prev <+ "9"
gHpr{|HN|} prev H_A = prev <+ "A"
gHpr{|HN|} prev H_B = prev <+ "B"
gHpr{|HN|} prev H_C = prev <+ "C"
gHpr{|HN|} prev H_D = prev <+ "D"
gHpr{|HN|} prev H_E = prev <+ "E"
gHpr{|HN|} prev H_F = prev <+ "F"
gHpr{|NoAttr|} prev _ = prev
gHpr{|Param|} prev (Param attr) = prev <+> openCmnd "param" attr
derive gHpr AlignTxt
derive gHpr AlignObj
derive gHpr A_Attr
derive gHpr Applet_Attr
derive gHpr Area_Attr
derive gHpr BaseAttr
derive gHpr BasefontAttr
derive gHpr BdoTxtDir
derive gHpr Block_Attr
derive gHpr BoolValue
derive gHpr Button_Attr
derive gHpr Button_Type
derive gHpr Caption_Attr
derive gHpr Checked
derive gHpr Col_Attr
derive gHpr Colorname
derive gHpr ColorOption
derive gHpr Del_Attr
derive gHpr Div_Attr
derive gHpr Disabled
derive gHpr DocRelation
derive gHpr ElementEvents
derive gHpr Font_Attr
derive gHpr Form_Attr
derive gHpr FramesetAttr
derive gHpr FrameAttr
derive gHpr FrameOption
derive gHpr GetOrPost
derive gHpr Hnum_Attr
derive gHpr HeadAttr
derive gHpr Hr_Attr
derive gHpr Iframe_Attr
derive gHpr Image_Attr
derive gHpr Input_Attr
derive gHpr InputType
derive gHpr Ins_Attr
derive gHpr Label_Attr
derive gHpr Legend_Attr
derive gHpr Li_Attr
derive gHpr LinkAttr
derive gHpr List_Type
derive gHpr Map_Attr
derive gHpr MediaOption
derive gHpr MetaOption
derive gHpr MetaName
derive gHpr MetaHttpEquiv
derive gHpr Object_Attr
derive gHpr Ol_Attr
derive gHpr Opt_Attr
derive gHpr Optgroup_Attr
derive gHpr P_Attr
derive gHpr Param_Attr
derive gHpr ParamValType
derive gHpr Pre_Attr
derive gHpr Q_Attr
derive gHpr ReadOnly
derive gHpr RuleOption
derive gHpr Script_Attr
derive gHpr ScriptLanguage
derive gHpr ScopeOption
derive gHpr Select_Attr
derive gHpr Selected
derive gHpr ShapeOption
derive gHpr ScrollingOption
derive gHpr Standard_Attr
derive gHpr Std_Attr
derive gHpr StyleAttr
derive gHpr T_Attr
derive gHpr Table_Attr
derive gHpr TargetOption
derive gHpr Td_Attr
derive gHpr Tr_Attr
derive gHpr TxtA_Attr
derive gHpr TxtDir
derive gHpr Ul_Attr
derive gHpr BodyAttr