definition module HTML
/**
* This module provides data types for easy construction of Html documents.
* All tags and attributes of Xhtml 1.0 transitional are captured
* in the HtmlTag and HtmlAttribute type. This library does not control
* **how** you assemble these tags into a document. It only discerns
* between tags that contain other tags and tags that are empty.
*
* For information on how to construct valid html pages with these types,
* see the document definition at:
* http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
*/
import StdString, Maybe
/**
* This type provides an enumeration of all html tags.
*/
:: HtmlTag = Text !String //Text, in which special characters should be automatically escaped.
| Html !String //Text, which should be used without any conversions.
| ATag ![HtmlAttr] ![HtmlTag]
| AbbrTag ![HtmlAttr] ![HtmlTag]
| AcronymTag ![HtmlAttr] ![HtmlTag]
| AddressTag ![HtmlAttr] ![HtmlTag]
| AppletTag ![HtmlAttr] ![HtmlTag]
| AreaTag ![HtmlAttr]
| BTag ![HtmlAttr] ![HtmlTag]
| BaseTag ![HtmlAttr] ![HtmlTag]
| BasefontTag ![HtmlAttr]
| BdoTag ![HtmlAttr] ![HtmlTag]
| BigTag ![HtmlAttr] ![HtmlTag]
| BlockquoteTag ![HtmlAttr] ![HtmlTag]
| BodyTag ![HtmlAttr] ![HtmlTag]
| BrTag ![HtmlAttr]
| ButtonTag ![HtmlAttr] ![HtmlTag]
| CaptionTag ![HtmlAttr] ![HtmlTag]
| CanvasTag ![HtmlAttr] ![HtmlTag]
| CenterTag ![HtmlAttr] ![HtmlTag]
| CiteTag ![HtmlAttr] ![HtmlTag]
| CodeTag ![HtmlAttr] ![HtmlTag]
| ColTag ![HtmlAttr] ![HtmlTag]
| ColgroupTag ![HtmlAttr] ![HtmlTag]
| DdTag ![HtmlAttr] ![HtmlTag]
| DelTag ![HtmlAttr] ![HtmlTag]
| DfnTag ![HtmlAttr] ![HtmlTag]
| DirTag ![HtmlAttr] ![HtmlTag]
| DivTag ![HtmlAttr] ![HtmlTag]
| DlTag ![HtmlAttr] ![HtmlTag]
| DtTag ![HtmlAttr] ![HtmlTag]
| EmTag ![HtmlAttr] ![HtmlTag]
| FieldsetTag ![HtmlAttr] ![HtmlTag]
| FontTag ![HtmlAttr] ![HtmlTag]
| FormTag ![HtmlAttr] ![HtmlTag]
| H1Tag ![HtmlAttr] ![HtmlTag]
| H2Tag ![HtmlAttr] ![HtmlTag]
| H3Tag ![HtmlAttr] ![HtmlTag]
| H4Tag ![HtmlAttr] ![HtmlTag]
| H5Tag ![HtmlAttr] ![HtmlTag]
| H6Tag ![HtmlAttr] ![HtmlTag]
| HeadTag ![HtmlAttr] ![HtmlTag]
| HrTag ![HtmlAttr]
| HtmlTag ![HtmlAttr] ![HtmlTag]
| ITag ![HtmlAttr] ![HtmlTag]
| IframeTag ![HtmlAttr] ![HtmlTag]
| ImgTag ![HtmlAttr]
| InputTag ![HtmlAttr]
| InsTag ![HtmlAttr] ![HtmlTag]
| IsindexTag ![HtmlAttr]
| KdbTag ![HtmlAttr] ![HtmlTag]
| LabelTag ![HtmlAttr] ![HtmlTag]
| LegendTag ![HtmlAttr] ![HtmlTag]
| LiTag ![HtmlAttr] ![HtmlTag]
| LinkTag ![HtmlAttr] ![HtmlTag]
| MapTag ![HtmlAttr] ![HtmlTag]
| MenuTag ![HtmlAttr] ![HtmlTag]
| MetaTag ![HtmlAttr] ![HtmlTag]
| NoframesTag ![HtmlAttr] ![HtmlTag]
| NoscriptTag ![HtmlAttr] ![HtmlTag]
| ObjectTag ![HtmlAttr] ![HtmlTag]
| OlTag ![HtmlAttr] ![HtmlTag]
| OptgroupTag ![HtmlAttr] ![HtmlTag]
| OptionTag ![HtmlAttr] ![HtmlTag]
| PTag ![HtmlAttr] ![HtmlTag]
| ParamTag ![HtmlAttr] ![HtmlTag]
| PreTag ![HtmlAttr] ![HtmlTag]
| QTag ![HtmlAttr] ![HtmlTag]
| STag ![HtmlAttr] ![HtmlTag]
| SampTag ![HtmlAttr] ![HtmlTag]
| ScriptTag ![HtmlAttr] ![HtmlTag]
| SelectTag ![HtmlAttr] ![HtmlTag]
| SmallTag ![HtmlAttr] ![HtmlTag]
| SpanTag ![HtmlAttr] ![HtmlTag]
| StrikeTag ![HtmlAttr] ![HtmlTag]
| StrongTag ![HtmlAttr] ![HtmlTag]
| StyleTag ![HtmlAttr] ![HtmlTag]
| SubTag ![HtmlAttr] ![HtmlTag]
| SupTag ![HtmlAttr] ![HtmlTag]
| TableTag ![HtmlAttr] ![HtmlTag]
| TbodyTag ![HtmlAttr] ![HtmlTag]
| TdTag ![HtmlAttr] ![HtmlTag]
| TextareaTag ![HtmlAttr] ![HtmlTag]
| TfootTag ![HtmlAttr] ![HtmlTag]
| ThTag ![HtmlAttr] ![HtmlTag]
| TheadTag ![HtmlAttr] ![HtmlTag]
| TitleTag ![HtmlAttr] ![HtmlTag]
| TtTag ![HtmlAttr] ![HtmlTag]
| TrTag ![HtmlAttr] ![HtmlTag]
| UTag ![HtmlAttr] ![HtmlTag]
| UlTag ![HtmlAttr] ![HtmlTag]
| VarTag ![HtmlAttr] ![HtmlTag]
/**
* This type provides an enumeration of all attributes that can occur in html tags.
*/
:: HtmlAttr = AbbrAttr !String
| AcceptAttr !String
| AcceptcharsetAttr !String
| AccesskeyAttr !String
| ActionAttr !String
| AlignAttr !String
| AlinkAttr !String
| AltAttr !String
| ArchiveAttr !String
| AxisAttr !String
| BackgroundAttr !String
| BgcolorAttr !String
| BorderAttr !String
| CellspacingAttr !String
| CellpaddingAttr !String
| CharAttr !String
| CharoffAttr !String
| CharsetAttr !String
| CheckedAttr
| CiteAttr !String
| ClassAttr !String
| ClassidAttr !String
| ColorAttr !String
| ColsAttr !String
| ColspanAttr !String
| CodebaseAttr !String
| CodetypeAttr !String
| ContentAttr !String
| CompactAttr
| CoordsAttr !String
| DataAttr !String
| DatetimeAttr !String
| DeclareAttr
| DeferAttr !String
| DirAttr !String
| DisabledAttr
| EnctypeAttr !String
| FaceAttr !String
| ForAttr !String
| FrameAttr !String
| FrameborderAttr !String
| HeadersAttr !String
| HeightAttr !String
| HrefAttr !String
| HreflangAttr !String
| HttpequivAttr !String
| HspaceAttr !String
| IdAttr !String
| IsmapAttr
| LabelAttr !String
| LangAttr !String
| LanguageAttr !String
| LinkAttr !String
| LongdescAttr !String
| MarginheightAttr !String
| MarginwidthAttr !String
| MaxlengthAttr !String
| MediaAttr !String
| MethodAttr !String
| MultipleAttr
| NameAttr !String
| NohrefAttr
| NoshadeAttr
| NowrapAttr
| OnblurAttr !String
| OnchangeAttr !String
| OnclickAttr !String
| OndblclickAttr !String
| OnfocusAttr !String
| OnloadAttr !String
| OnmousedownAttr !String
| OnmousemoveAttr !String
| OnmouseoutAttr !String
| OnmouseoverAttr !String
| OnmouseupAttr !String
| OnkeydownAttr !String
| OnkeypressAttr !String
| OnkeyupAttr !String
| OnresetAttr !String
| OnselectAttr !String
| OnsubmitAttr !String
| OnunloadAttr !String
| ProfileAttr !String
| PromptAttr !String
| ReadonlyAttr
| RelAttr !String
| RevAttr !String
| RowsAttr !String
| RowspanAttr !String
| RulesAttr !String
| SchemeAttr !String
| ScopeAttr !String
| ScrollingAttr !String
| SelectedAttr
| ShapeAttr !String
| SizeAttr !String
| SpanAttr !String
| SrcAttr !String
| StandbyAttr !String
| StartAttr !String
| StyleAttr !String
| SummaryAttr !String
| TabindexAttr !String
| TargetAttr !String
| TextAttr !String
| TitleAttr !String
| TypeAttr !String
| UsemapAttr !String
| ValignAttr !String
| ValueAttr !String
| ValuetypeAttr !String
| VlinkAttr !String
| VspaceAttr !String
| WidthAttr !String
| XmllangAttr !String
| XmlspaceAttr !String
instance toString HtmlTag
/*
* This html class makes it possible to use either strings, or html as description/message/instruction
*/
class html a
where
html :: !a -> HtmlTag
instance html String
instance html HtmlTag
instance html [a] | html a
instance html (Maybe a) | html a
//BACKWARDS COMPATIBILITY
RawText :== Html