/* * Copyright (c) 2020-2021, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include namespace Web::HTML { namespace AttributeNames { #define ENUMERATE_HTML_ATTRIBUTES \ __ENUMERATE_HTML_ATTRIBUTE(abbr, "abbr") \ __ENUMERATE_HTML_ATTRIBUTE(accept, "accept") \ __ENUMERATE_HTML_ATTRIBUTE(accept_charset, "accept-charset") \ __ENUMERATE_HTML_ATTRIBUTE(accesskey, "accesskey") \ __ENUMERATE_HTML_ATTRIBUTE(action, "action") \ __ENUMERATE_HTML_ATTRIBUTE(align, "align") \ __ENUMERATE_HTML_ATTRIBUTE(alink, "alink") \ __ENUMERATE_HTML_ATTRIBUTE(allow, "allow") \ __ENUMERATE_HTML_ATTRIBUTE(allowfullscreen, "allowfullscreen") \ __ENUMERATE_HTML_ATTRIBUTE(alt, "alt") \ __ENUMERATE_HTML_ATTRIBUTE(archive, "archive") \ __ENUMERATE_HTML_ATTRIBUTE(as, "as") \ __ENUMERATE_HTML_ATTRIBUTE(async, "async") \ __ENUMERATE_HTML_ATTRIBUTE(autocomplete, "autocomplete") \ __ENUMERATE_HTML_ATTRIBUTE(autofocus, "autofocus") \ __ENUMERATE_HTML_ATTRIBUTE(autoplay, "autoplay") \ __ENUMERATE_HTML_ATTRIBUTE(axis, "axis") \ __ENUMERATE_HTML_ATTRIBUTE(background, "background") \ __ENUMERATE_HTML_ATTRIBUTE(behavior, "behavior") \ __ENUMERATE_HTML_ATTRIBUTE(bgcolor, "bgcolor") \ __ENUMERATE_HTML_ATTRIBUTE(border, "border") \ __ENUMERATE_HTML_ATTRIBUTE(bordercolor, "bordercolor") \ __ENUMERATE_HTML_ATTRIBUTE(bottommargin, "bottommargin") \ __ENUMERATE_HTML_ATTRIBUTE(cellpadding, "cellpadding") \ __ENUMERATE_HTML_ATTRIBUTE(cellspacing, "cellspacing") \ __ENUMERATE_HTML_ATTRIBUTE(char_, "char") \ __ENUMERATE_HTML_ATTRIBUTE(charoff, "charoff") \ __ENUMERATE_HTML_ATTRIBUTE(charset, "charset") \ __ENUMERATE_HTML_ATTRIBUTE(checked, "checked") \ __ENUMERATE_HTML_ATTRIBUTE(cite, "cite") \ __ENUMERATE_HTML_ATTRIBUTE(class_, "class") \ __ENUMERATE_HTML_ATTRIBUTE(classid, "classid") \ __ENUMERATE_HTML_ATTRIBUTE(clear, "clear") \ __ENUMERATE_HTML_ATTRIBUTE(code, "code") \ __ENUMERATE_HTML_ATTRIBUTE(codebase, "codebase") \ __ENUMERATE_HTML_ATTRIBUTE(codetype, "codetype") \ __ENUMERATE_HTML_ATTRIBUTE(color, "color") \ __ENUMERATE_HTML_ATTRIBUTE(cols, "cols") \ __ENUMERATE_HTML_ATTRIBUTE(colspan, "colspan") \ __ENUMERATE_HTML_ATTRIBUTE(command, "command") \ __ENUMERATE_HTML_ATTRIBUTE(commandfor, "commandfor") \ __ENUMERATE_HTML_ATTRIBUTE(compact, "compact") \ __ENUMERATE_HTML_ATTRIBUTE(content, "content") \ __ENUMERATE_HTML_ATTRIBUTE(contenteditable, "contenteditable") \ __ENUMERATE_HTML_ATTRIBUTE(controls, "controls") \ __ENUMERATE_HTML_ATTRIBUTE(coords, "coords") \ __ENUMERATE_HTML_ATTRIBUTE(crossorigin, "crossorigin") \ __ENUMERATE_HTML_ATTRIBUTE(data, "data") \ __ENUMERATE_HTML_ATTRIBUTE(datetime, "datetime") \ __ENUMERATE_HTML_ATTRIBUTE(declare, "declare") \ __ENUMERATE_HTML_ATTRIBUTE(decoding, "decoding") \ __ENUMERATE_HTML_ATTRIBUTE(default_, "default") \ __ENUMERATE_HTML_ATTRIBUTE(defaultchecked, "defaultchecked") \ __ENUMERATE_HTML_ATTRIBUTE(defaultselected, "defaultselected") \ __ENUMERATE_HTML_ATTRIBUTE(defer, "defer") \ __ENUMERATE_HTML_ATTRIBUTE(dir, "dir") \ __ENUMERATE_HTML_ATTRIBUTE(direction, "direction") \ __ENUMERATE_HTML_ATTRIBUTE(dirname, "dirname") \ __ENUMERATE_HTML_ATTRIBUTE(disabled, "disabled") \ __ENUMERATE_HTML_ATTRIBUTE(download, "download") \ __ENUMERATE_HTML_ATTRIBUTE(enctype, "enctype") \ __ENUMERATE_HTML_ATTRIBUTE(ended, "ended") \ __ENUMERATE_HTML_ATTRIBUTE(enterkeyhint, "enterkeyhint") \ __ENUMERATE_HTML_ATTRIBUTE(event, "event") \ __ENUMERATE_HTML_ATTRIBUTE(face, "face") \ __ENUMERATE_HTML_ATTRIBUTE(fetchpriority, "fetchpriority") \ __ENUMERATE_HTML_ATTRIBUTE(for_, "for") \ __ENUMERATE_HTML_ATTRIBUTE(form, "form") \ __ENUMERATE_HTML_ATTRIBUTE(formaction, "formaction") \ __ENUMERATE_HTML_ATTRIBUTE(formenctype, "formenctype") \ __ENUMERATE_HTML_ATTRIBUTE(formmethod, "formmethod") \ __ENUMERATE_HTML_ATTRIBUTE(formnovalidate, "formnovalidate") \ __ENUMERATE_HTML_ATTRIBUTE(formtarget, "formtarget") \ __ENUMERATE_HTML_ATTRIBUTE(frame, "frame") \ __ENUMERATE_HTML_ATTRIBUTE(frameborder, "frameborder") \ __ENUMERATE_HTML_ATTRIBUTE(headers, "headers") \ __ENUMERATE_HTML_ATTRIBUTE(height, "height") \ __ENUMERATE_HTML_ATTRIBUTE(hidden, "hidden") \ __ENUMERATE_HTML_ATTRIBUTE(high, "high") \ __ENUMERATE_HTML_ATTRIBUTE(href, "href") \ __ENUMERATE_HTML_ATTRIBUTE(hreflang, "hreflang") \ __ENUMERATE_HTML_ATTRIBUTE(hspace, "hspace") \ __ENUMERATE_HTML_ATTRIBUTE(http_equiv, "http-equiv") \ __ENUMERATE_HTML_ATTRIBUTE(id, "id") \ __ENUMERATE_HTML_ATTRIBUTE(imagesizes, "imagesizes") \ __ENUMERATE_HTML_ATTRIBUTE(imagesrcset, "imagesrcset") \ __ENUMERATE_HTML_ATTRIBUTE(indeterminate, "indeterminate") \ __ENUMERATE_HTML_ATTRIBUTE(inert, "inert") \ __ENUMERATE_HTML_ATTRIBUTE(inputmode, "inputmode") \ __ENUMERATE_HTML_ATTRIBUTE(integrity, "integrity") \ __ENUMERATE_HTML_ATTRIBUTE(is, "is") \ __ENUMERATE_HTML_ATTRIBUTE(iscontenteditable, "iscontenteditable") \ __ENUMERATE_HTML_ATTRIBUTE(ismap, "ismap") \ __ENUMERATE_HTML_ATTRIBUTE(itemscope, "itemscope") \ __ENUMERATE_HTML_ATTRIBUTE(kind, "kind") \ __ENUMERATE_HTML_ATTRIBUTE(label, "label") \ __ENUMERATE_HTML_ATTRIBUTE(lang, "lang") \ __ENUMERATE_HTML_ATTRIBUTE(language, "language") \ __ENUMERATE_HTML_ATTRIBUTE(leftmargin, "leftmargin") \ __ENUMERATE_HTML_ATTRIBUTE(link, "link") \ __ENUMERATE_HTML_ATTRIBUTE(list, "list") \ __ENUMERATE_HTML_ATTRIBUTE(loading, "loading") \ __ENUMERATE_HTML_ATTRIBUTE(longdesc, "longdesc") \ __ENUMERATE_HTML_ATTRIBUTE(loop, "loop") \ __ENUMERATE_HTML_ATTRIBUTE(low, "low") \ __ENUMERATE_HTML_ATTRIBUTE(lowsrc, "lowsrc") \ __ENUMERATE_HTML_ATTRIBUTE(marginheight, "marginheight") \ __ENUMERATE_HTML_ATTRIBUTE(marginwidth, "marginwidth") \ __ENUMERATE_HTML_ATTRIBUTE(max, "max") \ __ENUMERATE_HTML_ATTRIBUTE(maxlength, "maxlength") \ __ENUMERATE_HTML_ATTRIBUTE(media, "media") \ __ENUMERATE_HTML_ATTRIBUTE(method, "method") \ __ENUMERATE_HTML_ATTRIBUTE(min, "min") \ __ENUMERATE_HTML_ATTRIBUTE(minlength, "minlength") \ __ENUMERATE_HTML_ATTRIBUTE(multiple, "multiple") \ __ENUMERATE_HTML_ATTRIBUTE(muted, "muted") \ __ENUMERATE_HTML_ATTRIBUTE(name, "name") \ __ENUMERATE_HTML_ATTRIBUTE(nohref, "nohref") \ __ENUMERATE_HTML_ATTRIBUTE(nomodule, "nomodule") \ __ENUMERATE_HTML_ATTRIBUTE(nonce, "nonce") \ __ENUMERATE_HTML_ATTRIBUTE(noresize, "noresize") \ __ENUMERATE_HTML_ATTRIBUTE(noshade, "noshade") \ __ENUMERATE_HTML_ATTRIBUTE(novalidate, "novalidate") \ __ENUMERATE_HTML_ATTRIBUTE(nowrap, "nowrap") \ __ENUMERATE_HTML_ATTRIBUTE(onabort, "onabort") \ __ENUMERATE_HTML_ATTRIBUTE(onafterprint, "onafterprint") \ __ENUMERATE_HTML_ATTRIBUTE(onauxclick, "onauxclick") \ __ENUMERATE_HTML_ATTRIBUTE(onbeforeinput, "onbeforeinput") \ __ENUMERATE_HTML_ATTRIBUTE(onbeforematch, "onbeforematch") \ __ENUMERATE_HTML_ATTRIBUTE(onbeforeprint, "onbeforeprint") \ __ENUMERATE_HTML_ATTRIBUTE(onbeforetoggle, "onbeforetoggle") \ __ENUMERATE_HTML_ATTRIBUTE(onbeforeunload, "onbeforeunload") \ __ENUMERATE_HTML_ATTRIBUTE(onblur, "onblur") \ __ENUMERATE_HTML_ATTRIBUTE(oncancel, "oncancel") \ __ENUMERATE_HTML_ATTRIBUTE(oncanplay, "oncanplay") \ __ENUMERATE_HTML_ATTRIBUTE(oncanplaythrough, "oncanplaythrough") \ __ENUMERATE_HTML_ATTRIBUTE(onchange, "onchange") \ __ENUMERATE_HTML_ATTRIBUTE(onclick, "onclick") \ __ENUMERATE_HTML_ATTRIBUTE(onclose, "onclose") \ __ENUMERATE_HTML_ATTRIBUTE(oncontextlost, "oncontextlost") \ __ENUMERATE_HTML_ATTRIBUTE(oncontextmenu, "oncontextmenu") \ __ENUMERATE_HTML_ATTRIBUTE(oncontextrestored, "oncontextrestored") \ __ENUMERATE_HTML_ATTRIBUTE(oncopy, "oncopy") \ __ENUMERATE_HTML_ATTRIBUTE(oncuechange, "oncuechange") \ __ENUMERATE_HTML_ATTRIBUTE(oncut, "oncut") \ __ENUMERATE_HTML_ATTRIBUTE(ondblclick, "ondblclick") \ __ENUMERATE_HTML_ATTRIBUTE(ondrag, "ondrag") \ __ENUMERATE_HTML_ATTRIBUTE(ondragend, "ondragend") \ __ENUMERATE_HTML_ATTRIBUTE(ondragenter, "ondragenter") \ __ENUMERATE_HTML_ATTRIBUTE(ondragleave, "ondragleave") \ __ENUMERATE_HTML_ATTRIBUTE(ondragover, "ondragover") \ __ENUMERATE_HTML_ATTRIBUTE(ondragstart, "ondragstart") \ __ENUMERATE_HTML_ATTRIBUTE(ondrop, "ondrop") \ __ENUMERATE_HTML_ATTRIBUTE(ondurationchange, "ondurationchange") \ __ENUMERATE_HTML_ATTRIBUTE(onemptied, "onemptied") \ __ENUMERATE_HTML_ATTRIBUTE(onended, "onended") \ __ENUMERATE_HTML_ATTRIBUTE(onerror, "onerror") \ __ENUMERATE_HTML_ATTRIBUTE(onfocus, "onfocus") \ __ENUMERATE_HTML_ATTRIBUTE(onfocusin, "onfocusin") \ __ENUMERATE_HTML_ATTRIBUTE(onfocusout, "onfocusout") \ __ENUMERATE_HTML_ATTRIBUTE(onformdata, "onformdata") \ __ENUMERATE_HTML_ATTRIBUTE(ongotpointercapture, "ongotpointercapture") \ __ENUMERATE_HTML_ATTRIBUTE(onhashchange, "onhashchange") \ __ENUMERATE_HTML_ATTRIBUTE(oninput, "oninput") \ __ENUMERATE_HTML_ATTRIBUTE(oninvalid, "oninvalid") \ __ENUMERATE_HTML_ATTRIBUTE(onkeydown, "onkeydown") \ __ENUMERATE_HTML_ATTRIBUTE(onkeypress, "onkeypress") \ __ENUMERATE_HTML_ATTRIBUTE(onkeyup, "onkeyup") \ __ENUMERATE_HTML_ATTRIBUTE(onlanguagechange, "onlanguagechange") \ __ENUMERATE_HTML_ATTRIBUTE(onload, "onload") \ __ENUMERATE_HTML_ATTRIBUTE(onloadeddata, "onloadeddata") \ __ENUMERATE_HTML_ATTRIBUTE(onloadedmetadata, "onloadedmetadata") \ __ENUMERATE_HTML_ATTRIBUTE(onloadstart, "onloadstart") \ __ENUMERATE_HTML_ATTRIBUTE(onlostpointercapture, "onlostpointercapture") \ __ENUMERATE_HTML_ATTRIBUTE(onmessage, "onmessage") \ __ENUMERATE_HTML_ATTRIBUTE(onmessageerror, "onmessageerror") \ __ENUMERATE_HTML_ATTRIBUTE(onmousedown, "onmousedown") \ __ENUMERATE_HTML_ATTRIBUTE(onmouseenter, "onmouseenter") \ __ENUMERATE_HTML_ATTRIBUTE(onmouseleave, "onmouseleave") \ __ENUMERATE_HTML_ATTRIBUTE(onmousemove, "onmousemove") \ __ENUMERATE_HTML_ATTRIBUTE(onmouseout, "onmouseout") \ __ENUMERATE_HTML_ATTRIBUTE(onmouseover, "onmouseover") \ __ENUMERATE_HTML_ATTRIBUTE(onmouseup, "onmouseup") \ __ENUMERATE_HTML_ATTRIBUTE(onoffline, "onoffline") \ __ENUMERATE_HTML_ATTRIBUTE(ononline, "ononline") \ __ENUMERATE_HTML_ATTRIBUTE(onpagehide, "onpagehide") \ __ENUMERATE_HTML_ATTRIBUTE(onpagereveal, "onpagereveal") \ __ENUMERATE_HTML_ATTRIBUTE(onpageshow, "onpageshow") \ __ENUMERATE_HTML_ATTRIBUTE(onpageswap, "onpageswap") \ __ENUMERATE_HTML_ATTRIBUTE(onpaste, "onpaste") \ __ENUMERATE_HTML_ATTRIBUTE(onpause, "onpause") \ __ENUMERATE_HTML_ATTRIBUTE(onplay, "onplay") \ __ENUMERATE_HTML_ATTRIBUTE(onplaying, "onplaying") \ __ENUMERATE_HTML_ATTRIBUTE(onpointercancel, "onpointercancel") \ __ENUMERATE_HTML_ATTRIBUTE(onpointerdown, "onpointerdown") \ __ENUMERATE_HTML_ATTRIBUTE(onpointerenter, "onpointerenter") \ __ENUMERATE_HTML_ATTRIBUTE(onpointerleave, "onpointerleave") \ __ENUMERATE_HTML_ATTRIBUTE(onpointermove, "onpointermove") \ __ENUMERATE_HTML_ATTRIBUTE(onpointerout, "onpointerout") \ __ENUMERATE_HTML_ATTRIBUTE(onpointerover, "onpointerover") \ __ENUMERATE_HTML_ATTRIBUTE(onpointerrawupdate, "onpointerrawupdate") \ __ENUMERATE_HTML_ATTRIBUTE(onpointerup, "onpointerup") \ __ENUMERATE_HTML_ATTRIBUTE(onpopstate, "onpopstate") \ __ENUMERATE_HTML_ATTRIBUTE(onprogress, "onprogress") \ __ENUMERATE_HTML_ATTRIBUTE(onratechange, "onratechange") \ __ENUMERATE_HTML_ATTRIBUTE(onrejectionhandled, "onrejectionhandled") \ __ENUMERATE_HTML_ATTRIBUTE(onreset, "onreset") \ __ENUMERATE_HTML_ATTRIBUTE(onresize, "onresize") \ __ENUMERATE_HTML_ATTRIBUTE(onscroll, "onscroll") \ __ENUMERATE_HTML_ATTRIBUTE(onscrollend, "onscrollend") \ __ENUMERATE_HTML_ATTRIBUTE(onsecuritypolicyviolation, "onsecuritypolicyviolation") \ __ENUMERATE_HTML_ATTRIBUTE(onseeked, "onseeked") \ __ENUMERATE_HTML_ATTRIBUTE(onseeking, "onseeking") \ __ENUMERATE_HTML_ATTRIBUTE(onselect, "onselect") \ __ENUMERATE_HTML_ATTRIBUTE(onselectionchange, "onselectionchange") \ __ENUMERATE_HTML_ATTRIBUTE(onslotchange, "onslotchange") \ __ENUMERATE_HTML_ATTRIBUTE(onstalled, "onstalled") \ __ENUMERATE_HTML_ATTRIBUTE(onstorage, "onstorage") \ __ENUMERATE_HTML_ATTRIBUTE(onsubmit, "onsubmit") \ __ENUMERATE_HTML_ATTRIBUTE(onsuspend, "onsuspend") \ __ENUMERATE_HTML_ATTRIBUTE(ontimeupdate, "ontimeupdate") \ __ENUMERATE_HTML_ATTRIBUTE(ontoggle, "ontoggle") \ __ENUMERATE_HTML_ATTRIBUTE(onunhandledrejection, "onunhandledrejection") \ __ENUMERATE_HTML_ATTRIBUTE(onunload, "onunload") \ __ENUMERATE_HTML_ATTRIBUTE(onvolumechange, "onvolumechange") \ __ENUMERATE_HTML_ATTRIBUTE(onwaiting, "onwaiting") \ __ENUMERATE_HTML_ATTRIBUTE(onwebkitanimationend, "onwebkitanimationend") \ __ENUMERATE_HTML_ATTRIBUTE(onwebkitanimationiteration, "onwebkitanimationiteration") \ __ENUMERATE_HTML_ATTRIBUTE(onwebkitanimationstart, "onwebkitanimationstart") \ __ENUMERATE_HTML_ATTRIBUTE(onwebkittransitionend, "onwebkittransitionend") \ __ENUMERATE_HTML_ATTRIBUTE(onwheel, "onwheel") \ __ENUMERATE_HTML_ATTRIBUTE(open, "open") \ __ENUMERATE_HTML_ATTRIBUTE(optimum, "optimum") \ __ENUMERATE_HTML_ATTRIBUTE(pattern, "pattern") \ __ENUMERATE_HTML_ATTRIBUTE(paused, "paused") \ __ENUMERATE_HTML_ATTRIBUTE(ping, "ping") \ __ENUMERATE_HTML_ATTRIBUTE(placeholder, "placeholder") \ __ENUMERATE_HTML_ATTRIBUTE(playsinline, "playsinline") \ __ENUMERATE_HTML_ATTRIBUTE(popover, "popover") \ __ENUMERATE_HTML_ATTRIBUTE(popovertarget, "popovertarget") \ __ENUMERATE_HTML_ATTRIBUTE(popovertargetaction, "popovertargetaction") \ __ENUMERATE_HTML_ATTRIBUTE(poster, "poster") \ __ENUMERATE_HTML_ATTRIBUTE(preload, "preload") \ __ENUMERATE_HTML_ATTRIBUTE(readonly, "readonly") \ __ENUMERATE_HTML_ATTRIBUTE(referrerpolicy, "referrerpolicy") \ __ENUMERATE_HTML_ATTRIBUTE(rel, "rel") \ __ENUMERATE_HTML_ATTRIBUTE(required, "required") \ __ENUMERATE_HTML_ATTRIBUTE(rev, "rev") \ __ENUMERATE_HTML_ATTRIBUTE(reversed, "reversed") \ __ENUMERATE_HTML_ATTRIBUTE(rightmargin, "rightmargin") \ __ENUMERATE_HTML_ATTRIBUTE(rows, "rows") \ __ENUMERATE_HTML_ATTRIBUTE(rowspan, "rowspan") \ __ENUMERATE_HTML_ATTRIBUTE(rules, "rules") \ __ENUMERATE_HTML_ATTRIBUTE(sandbox, "sandbox") \ __ENUMERATE_HTML_ATTRIBUTE(scheme, "scheme") \ __ENUMERATE_HTML_ATTRIBUTE(scope, "scope") \ __ENUMERATE_HTML_ATTRIBUTE(scrollamount, "scrollamount") \ __ENUMERATE_HTML_ATTRIBUTE(scrolldelay, "scrolldelay") \ __ENUMERATE_HTML_ATTRIBUTE(scrolling, "scrolling") \ __ENUMERATE_HTML_ATTRIBUTE(seeking, "seeking") \ __ENUMERATE_HTML_ATTRIBUTE(selected, "selected") \ __ENUMERATE_HTML_ATTRIBUTE(shadowrootclonable, "shadowrootclonable") \ __ENUMERATE_HTML_ATTRIBUTE(shadowrootdelegatesfocus, "shadowrootdelegatesfocus") \ __ENUMERATE_HTML_ATTRIBUTE(shadowrootmode, "shadowrootmode") \ __ENUMERATE_HTML_ATTRIBUTE(shadowrootserializable, "shadowrootserializable") \ __ENUMERATE_HTML_ATTRIBUTE(shape, "shape") \ __ENUMERATE_HTML_ATTRIBUTE(size, "size") \ __ENUMERATE_HTML_ATTRIBUTE(sizes, "sizes") \ __ENUMERATE_HTML_ATTRIBUTE(slot, "slot") \ __ENUMERATE_HTML_ATTRIBUTE(span, "span") \ __ENUMERATE_HTML_ATTRIBUTE(src, "src") \ __ENUMERATE_HTML_ATTRIBUTE(srcdoc, "srcdoc") \ __ENUMERATE_HTML_ATTRIBUTE(srclang, "srclang") \ __ENUMERATE_HTML_ATTRIBUTE(srcset, "srcset") \ __ENUMERATE_HTML_ATTRIBUTE(standby, "standby") \ __ENUMERATE_HTML_ATTRIBUTE(start, "start") \ __ENUMERATE_HTML_ATTRIBUTE(step, "step") \ __ENUMERATE_HTML_ATTRIBUTE(style, "style") \ __ENUMERATE_HTML_ATTRIBUTE(summary, "summary") \ __ENUMERATE_HTML_ATTRIBUTE(switch_, "switch") \ __ENUMERATE_HTML_ATTRIBUTE(tabindex, "tabindex") \ __ENUMERATE_HTML_ATTRIBUTE(target, "target") \ __ENUMERATE_HTML_ATTRIBUTE(text, "text") \ __ENUMERATE_HTML_ATTRIBUTE(title, "title") \ __ENUMERATE_HTML_ATTRIBUTE(topmargin, "topmargin") \ __ENUMERATE_HTML_ATTRIBUTE(truespeed, "truespeed") \ __ENUMERATE_HTML_ATTRIBUTE(type, "type") \ __ENUMERATE_HTML_ATTRIBUTE(usemap, "usemap") \ __ENUMERATE_HTML_ATTRIBUTE(valign, "valign") \ __ENUMERATE_HTML_ATTRIBUTE(value, "value") \ __ENUMERATE_HTML_ATTRIBUTE(valuetype, "valuetype") \ __ENUMERATE_HTML_ATTRIBUTE(version, "version") \ __ENUMERATE_HTML_ATTRIBUTE(vlink, "vlink") \ __ENUMERATE_HTML_ATTRIBUTE(vspace, "vspace") \ __ENUMERATE_HTML_ATTRIBUTE(width, "width") \ __ENUMERATE_HTML_ATTRIBUTE(willvalidate, "willvalidate") \ __ENUMERATE_HTML_ATTRIBUTE(wrap, "wrap") #define __ENUMERATE_HTML_ATTRIBUTE(name, attribute) extern FlyString name; ENUMERATE_HTML_ATTRIBUTES #undef __ENUMERATE_HTML_ATTRIBUTE } bool is_boolean_attribute(FlyString const& attribute); }