-- | HTML attribute constructors. Where an attribute name conflicts
-- with a haskell keyword the attribute name is written with a prime
-- suffix, ie. @class'@. Where an attribute name conflicts with an
-- element name the attribute name is written likewise.
module Text.HTML.Light.Attribute where
import Text.XML.Light
mk_attr :: String -> String -> Attr
mk_attr a = Attr (unqual a)
-- | Make an 'Attr' where the /key/ and /value/ are equal.
mk_bool_attr :: String -> Attr
mk_bool_attr a = Attr (unqual a) a
accept :: String -> Attr
accept = mk_attr "accept"
action :: String -> Attr
action = mk_attr "action"
align :: String -> Attr
align = mk_attr "align"
alt :: String -> Attr
alt = mk_attr "alt"
bgcolor :: String -> Attr
bgcolor = mk_attr "bgcolor"
border :: String -> Attr
border = mk_attr "border"
charset :: String -> Attr
charset = mk_attr "charset"
-- | Prime suffixed since /class/ is a reserved word.
class' :: String -> Attr
class' = mk_attr "class"
classid :: String -> Attr
classid = mk_attr "classid"
cols :: String -> Attr
cols = mk_attr "cols"
colspan :: String -> Attr
colspan = mk_attr "colspan"
content :: String -> Attr
content = mk_attr "content"
controls :: Attr
controls = mk_bool_attr "controls"
coords :: String -> Attr
coords = mk_attr "coords"
-- | Prime suffixed since /data/ is a reserved word.
data' :: String -> Attr
data' = mk_attr "data"
datetime :: String -> Attr
datetime = mk_attr "datetime"
enctype :: String -> Attr
enctype = mk_attr "enctype"
frameborder :: String -> Attr
frameborder = mk_attr "frameborder"
height :: String -> Attr
height = mk_attr "height"
href :: String -> Attr
href = mk_attr "href"
id :: String -> Attr
id = mk_attr "id"
http_equiv :: String -> Attr
http_equiv = Attr (unqual "http-equiv")
lang :: String -> Attr
lang = mk_attr "lang"
language :: String -> Attr
language = mk_attr "language"
media :: String -> Attr
media = mk_attr "media"
method :: String -> Attr
method = mk_attr "method"
name :: String -> Attr
name = mk_attr "name"
onblur :: String -> Attr
onblur = mk_attr "onblur"
onfocus :: String -> Attr
onfocus = mk_attr "onfocus"
onkeydown :: String -> Attr
onkeydown = mk_attr "onkeydown"
onkeypress :: String -> Attr
onkeypress = mk_attr "onkeypress"
onkeyup :: String -> Attr
onkeyup = mk_attr "onkeyup"
onmousedown :: String -> Attr
onmousedown = mk_attr "onmousedown"
onmousemove :: String -> Attr
onmousemove = mk_attr "onmousemove"
onmouseout :: String -> Attr
onmouseout = mk_attr "onmouseout"
onmouseover :: String -> Attr
onmouseover = mk_attr "onmouseover"
onmouseup :: String -> Attr
onmouseup = mk_attr "onmouseup"
onmousewheel :: String -> Attr
onmousewheel = mk_attr "onmousewheel"
quality :: String -> Attr
quality = mk_attr "quality"
rel :: String -> Attr
rel = mk_attr "rel"
rows :: String -> Attr
rows = mk_attr "rows"
rowspan :: String -> Attr
rowspan = mk_attr "rowspan"
seamless :: Attr
seamless = mk_bool_attr "seamless"
shape :: String -> Attr
shape = mk_attr "shape"
-- | Prime suffixed since /span/ is the name of both an attribute and
-- element.
span' :: String -> Attr
span' = mk_attr "span"
src :: String -> Attr
src = mk_attr "src"
-- | Prime suffixed since /style/ is the name of both an attribute and
-- element.
style' :: String -> Attr
style' = mk_attr "style"
tabindex :: String -> Attr
tabindex = mk_attr "tabindex"
target :: String -> Attr
target = mk_attr "target"
-- | Prime suffixed since /title/ is the name of both an attribute and
-- element.
title' :: String -> Attr
title' = mk_attr "title"
-- | Prime suffixed since /type/ is a reserved word.
type' :: String -> Attr
type' = mk_attr "type"
usemap :: String -> Attr
usemap = mk_attr "usemap"
user_data :: String -> String -> Attr
user_data k = mk_attr ("data-" ++ k)
valign :: String -> Attr
valign = mk_attr "valign"
value :: String -> Attr
value = mk_attr "value"
width :: String -> Attr
width = mk_attr "width"
xml_lang :: String -> Attr
xml_lang = Attr (unqual "xml:lang")
xmlns :: String -> Attr
xmlns = mk_attr "xmlns"