/* ANSI-C code produced by gperf version 2.7.2 */ /* Command-line: gperf -c -a -L ANSI-C -D -E -C -o -t -k '*' -NfindAttr -Hhash_attr -Wwordlist_attr -s 2 htmlattrs.gperf */ /* This file is automatically generated from #htmlattrs.in by makeattrs, do not edit */ /* Copyright 1999 Lars Knoll */ #include "htmlattrs.h" struct attrs { const char *name; int id; }; /* maximum key range = 797, duplicates = 1 */ #ifdef __GNUC__ __inline #else #ifdef __cplusplus inline #endif #endif static unsigned int hash_attr (register const char *str, register unsigned int len) { static const unsigned short asso_values[] = { 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 5, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 15, 130, 10, 260, 0, 45, 115, 25, 45, 0, 150, 0, 35, 0, 0, 0, 0, 30, 5, 90, 80, 300, 60, 10, 0, 10, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801, 801 }; register int hval = len; switch (hval) { default: case 15: hval += asso_values[(unsigned char)str[14]]; case 14: hval += asso_values[(unsigned char)str[13]]; case 13: hval += asso_values[(unsigned char)str[12]]; case 12: hval += asso_values[(unsigned char)str[11]]; case 11: hval += asso_values[(unsigned char)str[10]]; case 10: hval += asso_values[(unsigned char)str[9]]; case 9: hval += asso_values[(unsigned char)str[8]]; case 8: hval += asso_values[(unsigned char)str[7]]; case 7: hval += asso_values[(unsigned char)str[6]]; case 6: hval += asso_values[(unsigned char)str[5]]; case 5: hval += asso_values[(unsigned char)str[4]]; case 4: hval += asso_values[(unsigned char)str[3]]; case 3: hval += asso_values[(unsigned char)str[2]]; case 2: hval += asso_values[(unsigned char)str[1]]; case 1: hval += asso_values[(unsigned char)str[0]]; break; } return hval; } #ifdef __GNUC__ __inline #endif const struct attrs * findAttr (register const char *str, register unsigned int len) { enum { TOTAL_KEYWORDS = 155, MIN_WORD_LENGTH = 2, MAX_WORD_LENGTH = 15, MIN_HASH_VALUE = 4, MAX_HASH_VALUE = 800 }; static const struct attrs wordlist_attr[] = { {"loop", ATTR_LOOP}, {"cols", ATTR_COLS}, {"scope", ATTR_SCOPE}, {"span", ATTR_SPAN}, {"rel", ATTR_REL}, {"colspan", ATTR_COLSPAN}, {"class", ATTR_CLASS}, {"color", ATTR_COLOR}, {"src", ATTR_SRC}, {"shape", ATTR_SHAPE}, {"onscroll", ATTR_ONSCROLL}, {"name", ATTR_NAME}, {"clear", ATTR_CLEAR}, {"hspace", ATTR_HSPACE}, {"size", ATTR_SIZE}, {"plain", ATTR_PLAIN}, {"face", ATTR_FACE}, {"for", ATTR_FOR}, {"axis", ATTR_AXIS}, {"scheme", ATTR_SCHEME}, {"char", ATTR_CHAR}, {"top", ATTR_TOP}, {"type", ATTR_TYPE}, {"onerror", ATTR_ONERROR}, {"noresize", ATTR_NORESIZE}, {"onresize", ATTR_ONRESIZE}, {"rows", ATTR_ROWS}, {"style", ATTR_STYLE}, {"href", ATTR_HREF}, {"ismap", ATTR_ISMAP}, {"nohref", ATTR_NOHREF}, {"enctype", ATTR_ENCTYPE}, {"alt", ATTR_ALT}, {"wrap", ATTR_WRAP}, {"nowrap", ATTR_NOWRAP}, {"onselect", ATTR_ONSELECT}, {"rowspan", ATTR_ROWSPAN}, {"rules", ATTR_RULES}, {"profile", ATTR_PROFILE}, {"frame", ATTR_FRAME}, {"accept", ATTR_ACCEPT}, {"onreset", ATTR_ONRESET}, {"lang", ATTR_LANG}, {"pagey", ATTR_PAGEY}, {"left", ATTR_LEFT}, {"usemap", ATTR_USEMAP}, {"pagex", ATTR_PAGEX}, {"onfocus", ATTR_ONFOCUS}, {"cite", ATTR_CITE}, {"label", ATTR_LABEL}, {"html", ATTR_HTML}, {"prompt", ATTR_PROMPT}, {"action", ATTR_ACTION}, {"compact", ATTR_COMPACT}, {"onchange", ATTR_ONCHANGE}, {"challenge", ATTR_CHALLENGE}, {"charoff", ATTR_CHAROFF}, {"align", ATTR_ALIGN}, {"charset", ATTR_CHARSET}, {"text", ATTR_TEXT}, {"content", ATTR_CONTENT}, {"link", ATTR_LINK}, {"onkeypress", ATTR_ONKEYPRESS}, {"accesskey", ATTR_ACCESSKEY}, {"summary", ATTR_SUMMARY}, {"onmouseup", ATTR_ONMOUSEUP}, {"cellspacing", ATTR_CELLSPACING}, {"scrolling", ATTR_SCROLLING}, {"alink", ATTR_ALINK}, {"onclick", ATTR_ONCLICK}, {"title", ATTR_TITLE}, {"start", ATTR_START}, {"object", ATTR_OBJECT}, {"onkeyup", ATTR_ONKEYUP}, {"hreflang", ATTR_HREFLANG}, {"mayscript", ATTR_MAYSCRIPT}, {"onblur", ATTR_ONBLUR}, {"keytype", ATTR_KEYTYPE}, {"multiple", ATTR_MULTIPLE}, {"onabort", ATTR_ONABORT}, {"code", ATTR_CODE}, {"scrollamount", ATTR_SCROLLAMOUNT}, {"onload", ATTR_ONLOAD}, {"bgcolor", ATTR_BGCOLOR}, {"unknown", ATTR_UNKNOWN}, {"maxlength", ATTR_MAXLENGTH}, {"onmouseout", ATTR_ONMOUSEOUT}, {"height", ATTR_HEIGHT}, {"id", ATTR_ID}, {"abbr", ATTR_ABBR}, {"coords", ATTR_COORDS}, {"noshade", ATTR_NOSHADE}, {"readonly", ATTR_READONLY}, {"accept-charset", ATTR_ACCEPT_CHARSET}, {"declare", ATTR_DECLARE}, {"nosave", ATTR_NOSAVE}, {"oncontextmenu", ATTR_ONCONTEXTMENU}, {"scrolldelay", ATTR_SCROLLDELAY}, {"autocomplete", ATTR_AUTOCOMPLETE}, {"rev", ATTR_REV}, {"vspace", ATTR_VSPACE}, {"z-index", ATTR_Z_INDEX}, {"dir", ATTR_DIR}, {"topmargin", ATTR_TOPMARGIN}, {"defer", ATTR_DEFER}, {"headers", ATTR_HEADERS}, {"target", ATTR_TARGET}, {"classid", ATTR_CLASSID}, {"language", ATTR_LANGUAGE}, {"pluginurl", ATTR_PLUGINURL}, {"media", ATTR_MEDIA}, {"onunload", ATTR_ONUNLOAD}, {"codetype", ATTR_CODETYPE}, {"selected", ATTR_SELECTED}, {"pluginpage", ATTR_PLUGINPAGE}, {"oversrc", ATTR_OVERSRC}, {"data", ATTR_DATA}, {"leftmargin", ATTR_LEFTMARGIN}, {"pluginspage", ATTR_PLUGINSPAGE}, {"version", ATTR_VERSION}, {"onsubmit", ATTR_ONSUBMIT}, {"longdesc", ATTR_LONGDESC}, {"value", ATTR_VALUE}, {"method", ATTR_METHOD}, {"codebase", ATTR_CODEBASE}, {"archive", ATTR_ARCHIVE}, {"onmousedown", ATTR_ONMOUSEDOWN}, {"border", ATTR_BORDER}, {"bgproperties", ATTR_BGPROPERTIES}, {"onmouseover", ATTR_ONMOUSEOVER}, {"checked", ATTR_CHECKED}, {"onmousemove", ATTR_ONMOUSEMOVE}, {"truespeed", ATTR_TRUESPEED}, {"onkeydown", ATTR_ONKEYDOWN}, {"valign", ATTR_VALIGN}, {"width", ATTR_WIDTH}, {"direction", ATTR_DIRECTION}, {"valuetype", ATTR_VALUETYPE}, {"vlink", ATTR_VLINK}, {"bordercolor", ATTR_BORDERCOLOR}, {"standby", ATTR_STANDBY}, {"datetime", ATTR_DATETIME}, {"marginheight", ATTR_MARGINHEIGHT}, {"behavior", ATTR_BEHAVIOR}, {"tabindex", ATTR_TABINDEX}, {"frameborder", ATTR_FRAMEBORDER}, {"hidden", ATTR_HIDDEN}, {"ondblclick", ATTR_ONDBLCLICK}, {"http-equiv", ATTR_HTTP_EQUIV}, {"visibility", ATTR_VISIBILITY}, {"cellpadding", ATTR_CELLPADDING}, {"disabled", ATTR_DISABLED}, {"marginwidth", ATTR_MARGINWIDTH}, {"contenteditable", ATTR_CONTENTEDITABLE}, {"background", ATTR_BACKGROUND} }; static const short lookup[] = { -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 2, -1, -1, -1, 3, -1, -1, -1, -1, -1, -1, -1, -1, 4, -1, -1, -1, 5, -1, -1, 6, -1, -1, -1, -1, 7, -1, -1, 8, -1, 9, -1, -1, 10, 11, -1, -1, -1, -1, -1, 12, 13, -1, -1, 14, 15, -1, -1, -1, -1, -1, -1, -1, -1, 16, -1, -1, -1, 17, 18, -1, 19, -1, -1, 20, -1, -1, -1, -1, -1, -1, -1, -1, 21, 22, -1, -1, 23, -257, 26, 27, -131, -2, -1, 28, 29, 30, 31, 32, 33, -1, 34, -1, 35, -1, -1, -1, 36, -1, -1, 37, -1, -1, -1, -1, -1, -1, 38, -1, -1, 39, 40, 41, -1, 42, 43, -1, -1, -1, 44, -1, 45, -1, -1, -1, 46, -1, 47, -1, 48, 49, -1, -1, -1, 50, -1, -1, -1, -1, -1, -1, 51, -1, -1, -1, -1, 52, 53, -1, -1, -1, -1, -1, 54, 55, -1, -1, 56, -1, -1, 57, -1, 58, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, 60, -1, 61, 62, -1, -1, -1, 63, -1, -1, 64, -1, 65, -1, 66, -1, -1, 67, 68, -1, -1, -1, -1, -1, -1, 69, -1, -1, -1, -1, -1, -1, -1, 70, -1, -1, -1, -1, 71, 72, 73, 74, 75, -1, -1, -1, -1, -1, -1, 76, 77, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 78, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 79, -1, 80, -1, -1, 81, -1, -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 83, -1, -1, -1, -1, 84, -1, 85, 86, -1, -1, -1, -1, -1, 87, 88, -1, 89, -1, 90, 91, 92, -1, -1, -1, -1, -1, 93, -1, -1, 94, -1, -1, -1, 95, -1, 96, -1, -1, 97, 98, 99, -1, -1, 100, 101, 102, 103, 104, -1, 105, -1, -1, -1, 106, 107, 108, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 109, 110, -1, -1, 111, -1, -1, -1, -1, 112, -1, -1, -1, -1, 113, -1, -1, -1, -1, -1, -1, 114, -1, 115, -1, 116, 117, 118, 119, -1, -1, -1, -1, -1, 120, -1, -1, -1, -1, 121, -1, 122, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, -1, -1, -1, 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 126, -1, -1, -1, -1, 127, 128, -1, -1, -1, 129, 130, -1, -1, -1, 131, -1, -1, -1, -1, -1, -1, -1, 132, -1, -1, -1, -1, 133, -1, 134, -1, -1, -1, 135, -1, -1, -1, 136, -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, 138, 139, -1, -1, -1, -1, -1, 140, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 141, -1, -1, -1, -1, -1, -1, -1, -1, 142, 143, -1, -1, -1, -1, 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 145, -1, -1, -1, -1, -1, -1, -1, -1, -1, 146, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 147, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 149, 150, -1, -1, -1, -1, -1, -1, 151, -1, -1, -1, -1, -1, -1, -1, 152, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 153, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 154 }; if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { register int key = hash_attr (str, len); if (key <= MAX_HASH_VALUE && key >= 0) { register int index = lookup[key]; if (index >= 0) { register const char *s = wordlist_attr[index].name; if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0') return &wordlist_attr[index]; } else if (index < -TOTAL_KEYWORDS) { register int offset = - 1 - TOTAL_KEYWORDS - index; register const struct attrs *wordptr = &wordlist_attr[TOTAL_KEYWORDS + lookup[offset]]; register const struct attrs *wordendptr = wordptr + -lookup[offset + 1]; while (wordptr < wordendptr) { register const char *s = wordptr->name; if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0') return wordptr; wordptr++; } } } } return 0; } static const char * const attrList[] = { "ABBR", "ACCEPT-CHARSET", "ACCEPT", "ACCESSKEY", "ACTION", "ALIGN", "ALINK", "ALT", "ARCHIVE", "AUTOCOMPLETE", "AXIS", "BACKGROUND", "BEHAVIOR", "BGCOLOR", "BGPROPERTIES", "BORDER", "BORDERCOLOR", "CELLPADDING", "CELLSPACING", "CHAR", "CHALLENGE", "CHAROFF", "CHARSET", "CHECKED", "CITE", "CLASS", "CLASSID", "CLEAR", "CODE", "CODEBASE", "CODETYPE", "COLOR", "COLS", "COLSPAN", "COMPACT", "CONTENT", "CONTENTEDITABLE", "COORDS", "DATA", "DATETIME", "DECLARE", "DEFER", "DIR", "DIRECTION", "DISABLED", "ENCTYPE", "FACE", "FOR", "FRAME", "FRAMEBORDER", "HEADERS", "HEIGHT", "HIDDEN", "HREF", "HREFLANG", "HSPACE", "HTML", "HTTP-EQUIV", "ID", "ISMAP", "KEYTYPE", "LABEL", "LANG", "LANGUAGE", "LEFT", "LEFTMARGIN", "LINK", "LONGDESC", "LOOP", "MARGINHEIGHT", "MARGINWIDTH", "MAXLENGTH", "MAYSCRIPT", "MEDIA", "METHOD", "MULTIPLE", "NAME", "NOHREF", "NORESIZE", "NOSAVE", "NOSHADE", "NOWRAP", "OBJECT", "ONABORT", "ONBLUR", "ONCHANGE", "ONCLICK", "ONCONTEXTMENU", "ONDBLCLICK", "ONERROR", "ONFOCUS", "ONKEYDOWN", "ONKEYPRESS", "ONKEYUP", "ONLOAD", "ONMOUSEDOWN", "ONMOUSEMOVE", "ONMOUSEOUT", "ONMOUSEOVER", "ONMOUSEUP", "ONRESET", "ONRESIZE", "ONSCROLL", "ONSELECT", "ONSUBMIT", "ONUNLOAD", "OVERSRC", "PAGEX", "PAGEY", "PLAIN", "PLUGINPAGE", "PLUGINSPAGE", "PLUGINURL", "PROFILE", "PROMPT", "READONLY", "REL", "REV", "ROWS", "ROWSPAN", "RULES", "SCHEME", "SCOPE", "SCROLLAMOUNT", "SCROLLDELAY", "SCROLLING", "SELECTED", "SHAPE", "SIZE", "SPAN", "SRC", "STANDBY", "START", "STYLE", "SUMMARY", "TABINDEX", "TARGET", "TEXT", "TITLE", "TOP", "TOPMARGIN", "TRUESPEED", "TYPE", "UNKNOWN", "USEMAP", "VALIGN", "VALUE", "VALUETYPE", "VERSION", "VISIBILITY", "VLINK", "VSPACE", "WIDTH", "WRAP", "Z-INDEX", 0 }; DOMString getAttrName(unsigned short id) { return attrList[id-1]; };