3f9faae470cdc3fcca346f30b2a946f9bfc73dff
[WebKit-https.git] / WebCore / khtml / misc / htmlattrs.c
1 /* ANSI-C code produced by gperf version 3.0.1 */
2 /* Command-line: gperf -c -a -L ANSI-C -D -E -C -o -t -k '*' -NfindAttr -Hhash_attr -Wwordlist_attr -s 2 htmlattrs.gperf  */
3
4 #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
5       && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
6       && (')' == 41) && ('*' == 42) && ('+' == 43) && (',' == 44) \
7       && ('-' == 45) && ('.' == 46) && ('/' == 47) && ('0' == 48) \
8       && ('1' == 49) && ('2' == 50) && ('3' == 51) && ('4' == 52) \
9       && ('5' == 53) && ('6' == 54) && ('7' == 55) && ('8' == 56) \
10       && ('9' == 57) && (':' == 58) && (';' == 59) && ('<' == 60) \
11       && ('=' == 61) && ('>' == 62) && ('?' == 63) && ('A' == 65) \
12       && ('B' == 66) && ('C' == 67) && ('D' == 68) && ('E' == 69) \
13       && ('F' == 70) && ('G' == 71) && ('H' == 72) && ('I' == 73) \
14       && ('J' == 74) && ('K' == 75) && ('L' == 76) && ('M' == 77) \
15       && ('N' == 78) && ('O' == 79) && ('P' == 80) && ('Q' == 81) \
16       && ('R' == 82) && ('S' == 83) && ('T' == 84) && ('U' == 85) \
17       && ('V' == 86) && ('W' == 87) && ('X' == 88) && ('Y' == 89) \
18       && ('Z' == 90) && ('[' == 91) && ('\\' == 92) && (']' == 93) \
19       && ('^' == 94) && ('_' == 95) && ('a' == 97) && ('b' == 98) \
20       && ('c' == 99) && ('d' == 100) && ('e' == 101) && ('f' == 102) \
21       && ('g' == 103) && ('h' == 104) && ('i' == 105) && ('j' == 106) \
22       && ('k' == 107) && ('l' == 108) && ('m' == 109) && ('n' == 110) \
23       && ('o' == 111) && ('p' == 112) && ('q' == 113) && ('r' == 114) \
24       && ('s' == 115) && ('t' == 116) && ('u' == 117) && ('v' == 118) \
25       && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \
26       && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126))
27 /* The character set is not based on ISO-646.  */
28 #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
29 #endif
30
31 #line 1 "htmlattrs.gperf"
32
33 /* This file is automatically generated from
34 #htmlattrs.in by makeattrs, do not edit */
35 /* Copyright 1999 Lars Knoll */
36 #include "htmlattrs.h"
37 #line 7 "htmlattrs.gperf"
38 struct attrs {
39     const char *name;
40     int id;
41 };
42 /* maximum key range = 705, duplicates = 0 */
43
44 #ifdef __GNUC__
45 __inline
46 #else
47 #ifdef __cplusplus
48 inline
49 #endif
50 #endif
51 static unsigned int
52 hash_attr (register const char *str, register unsigned int len)
53 {
54   static const unsigned short asso_values[] =
55     {
56       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
57       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
58       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
59       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
60       708, 708, 708, 708, 708,  10,  10, 708, 708, 708,
61       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
62       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
63       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
64       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
65       708, 708, 708, 708, 708, 708, 708,  10,  25,   5,
66         0,   5,  60,  40, 140,  30, 135, 210,  15,  35,
67        90,   0,   0,   0,   0,   0,   0,  85, 150, 225,
68        70,  10,  20, 708, 708, 708, 708, 708, 708, 708,
69       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
70       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
71       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
72       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
73       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
74       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
75       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
76       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
77       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
78       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
79       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
80       708, 708, 708, 708, 708, 708, 708, 708, 708, 708,
81       708, 708, 708, 708, 708, 708, 708
82     };
83   register int hval = len;
84
85   switch (hval)
86     {
87       default:
88         hval += asso_values[(unsigned char)str[14]];
89       /*FALLTHROUGH*/
90       case 14:
91         hval += asso_values[(unsigned char)str[13]];
92       /*FALLTHROUGH*/
93       case 13:
94         hval += asso_values[(unsigned char)str[12]];
95       /*FALLTHROUGH*/
96       case 12:
97         hval += asso_values[(unsigned char)str[11]];
98       /*FALLTHROUGH*/
99       case 11:
100         hval += asso_values[(unsigned char)str[10]];
101       /*FALLTHROUGH*/
102       case 10:
103         hval += asso_values[(unsigned char)str[9]];
104       /*FALLTHROUGH*/
105       case 9:
106         hval += asso_values[(unsigned char)str[8]];
107       /*FALLTHROUGH*/
108       case 8:
109         hval += asso_values[(unsigned char)str[7]];
110       /*FALLTHROUGH*/
111       case 7:
112         hval += asso_values[(unsigned char)str[6]];
113       /*FALLTHROUGH*/
114       case 6:
115         hval += asso_values[(unsigned char)str[5]];
116       /*FALLTHROUGH*/
117       case 5:
118         hval += asso_values[(unsigned char)str[4]];
119       /*FALLTHROUGH*/
120       case 4:
121         hval += asso_values[(unsigned char)str[3]];
122       /*FALLTHROUGH*/
123       case 3:
124         hval += asso_values[(unsigned char)str[2]];
125       /*FALLTHROUGH*/
126       case 2:
127         hval += asso_values[(unsigned char)str[1]+1];
128       /*FALLTHROUGH*/
129       case 1:
130         hval += asso_values[(unsigned char)str[0]];
131         break;
132     }
133   return hval;
134 }
135
136 #ifdef __GNUC__
137 __inline
138 #endif
139 const struct attrs *
140 findAttr (register const char *str, register unsigned int len)
141 {
142   enum
143     {
144       TOTAL_KEYWORDS = 181,
145       MIN_WORD_LENGTH = 2,
146       MAX_WORD_LENGTH = 15,
147       MIN_HASH_VALUE = 3,
148       MAX_HASH_VALUE = 707
149     };
150
151   static const struct attrs wordlist_attr[] =
152     {
153 #line 177 "htmlattrs.gperf"
154       {"top", ATTR_TOP},
155 #line 118 "htmlattrs.gperf"
156       {"ondrop", ATTR_ONDROP},
157 #line 167 "htmlattrs.gperf"
158       {"src", ATTR_SRC},
159 #line 159 "htmlattrs.gperf"
160       {"scope", ATTR_SCOPE},
161 #line 52 "htmlattrs.gperf"
162       {"coords", ATTR_COORDS},
163 #line 119 "htmlattrs.gperf"
164       {"onerror", ATTR_ONERROR},
165 #line 42 "htmlattrs.gperf"
166       {"code", ATTR_CODE},
167 #line 132 "htmlattrs.gperf"
168       {"onreset", ATTR_ONRESET},
169 #line 84 "htmlattrs.gperf"
170       {"loop", ATTR_LOOP},
171 #line 109 "htmlattrs.gperf"
172       {"oncopy", ATTR_ONCOPY},
173 #line 131 "htmlattrs.gperf"
174       {"onpaste", ATTR_ONPASTE},
175 #line 46 "htmlattrs.gperf"
176       {"cols", ATTR_COLS},
177 #line 45 "htmlattrs.gperf"
178       {"color", ATTR_COLOR},
179 #line 14 "htmlattrs.gperf"
180       {"accept", ATTR_ACCEPT},
181 #line 180 "htmlattrs.gperf"
182       {"type", ATTR_TYPE},
183 #line 125 "htmlattrs.gperf"
184       {"onload", ATTR_ONLOAD},
185 #line 60 "htmlattrs.gperf"
186       {"enctype", ATTR_ENCTYPE},
187 #line 44 "htmlattrs.gperf"
188       {"codetype", ATTR_CODETYPE},
189 #line 28 "htmlattrs.gperf"
190       {"border", ATTR_BORDER},
191 #line 73 "htmlattrs.gperf"
192       {"id", ATTR_ID},
193 #line 136 "htmlattrs.gperf"
194       {"onselect", ATTR_ONSELECT},
195 #line 53 "htmlattrs.gperf"
196       {"data", ATTR_DATA},
197 #line 150 "htmlattrs.gperf"
198       {"prompt", ATTR_PROMPT},
199 #line 101 "htmlattrs.gperf"
200       {"onabort", ATTR_ONABORT},
201 #line 134 "htmlattrs.gperf"
202       {"onscroll", ATTR_ONSCROLL},
203 #line 12 "htmlattrs.gperf"
204       {"abbr", ATTR_ABBR},
205 #line 19 "htmlattrs.gperf"
206       {"alt", ATTR_ALT},
207 #line 32 "htmlattrs.gperf"
208       {"char", ATTR_CHAR},
209 #line 164 "htmlattrs.gperf"
210       {"shape", ATTR_SHAPE},
211 #line 137 "htmlattrs.gperf"
212       {"onselectstart", ATTR_ONSELECTSTART},
213 #line 23 "htmlattrs.gperf"
214       {"axis", ATTR_AXIS},
215 #line 39 "htmlattrs.gperf"
216       {"class", ATTR_CLASS},
217 #line 112 "htmlattrs.gperf"
218       {"ondrag", ATTR_ONDRAG},
219 #line 35 "htmlattrs.gperf"
220       {"charset", ATTR_CHARSET},
221 #line 43 "htmlattrs.gperf"
222       {"codebase", ATTR_CODEBASE},
223 #line 41 "htmlattrs.gperf"
224       {"clear", ATTR_CLEAR},
225 #line 29 "htmlattrs.gperf"
226       {"bordercolor", ATTR_BORDERCOLOR},
227 #line 48 "htmlattrs.gperf"
228       {"compact", ATTR_COMPACT},
229 #line 62 "htmlattrs.gperf"
230       {"for", ATTR_FOR},
231 #line 133 "htmlattrs.gperf"
232       {"onresize", ATTR_ONRESIZE},
233 #line 117 "htmlattrs.gperf"
234       {"ondragstart", ATTR_ONDRAGSTART},
235 #line 174 "htmlattrs.gperf"
236       {"target", ATTR_TARGET},
237 #line 152 "htmlattrs.gperf"
238       {"rel", ATTR_REL},
239 #line 75 "htmlattrs.gperf"
240       {"ismap", ATTR_ISMAP},
241 #line 161 "htmlattrs.gperf"
242       {"scrolldelay", ATTR_SCROLLDELAY},
243 #line 49 "htmlattrs.gperf"
244       {"composite", ATTR_COMPOSITE},
245 #line 142 "htmlattrs.gperf"
246       {"pagey", ATTR_PAGEY},
247 #line 40 "htmlattrs.gperf"
248       {"classid", ATTR_CLASSID},
249 #line 77 "htmlattrs.gperf"
250       {"label", ATTR_LABEL},
251 #line 110 "htmlattrs.gperf"
252       {"oncut", ATTR_ONCUT},
253 #line 163 "htmlattrs.gperf"
254       {"selected", ATTR_SELECTED},
255 #line 61 "htmlattrs.gperf"
256       {"face", ATTR_FACE},
257 #line 169 "htmlattrs.gperf"
258       {"start", ATTR_START},
259 #line 55 "htmlattrs.gperf"
260       {"declare", ATTR_DECLARE},
261 #line 166 "htmlattrs.gperf"
262       {"span", ATTR_SPAN},
263 #line 54 "htmlattrs.gperf"
264       {"datetime", ATTR_DATETIME},
265 #line 179 "htmlattrs.gperf"
266       {"truespeed", ATTR_TRUESPEED},
267 #line 173 "htmlattrs.gperf"
268       {"tableborder", ATTR_TABLEBORDER},
269 #line 89 "htmlattrs.gperf"
270       {"mayscript", ATTR_MAYSCRIPT},
271 #line 63 "htmlattrs.gperf"
272       {"frame", ATTR_FRAME},
273 #line 149 "htmlattrs.gperf"
274       {"profile", ATTR_PROFILE},
275 #line 170 "htmlattrs.gperf"
276       {"style", ATTR_STYLE},
277 #line 102 "htmlattrs.gperf"
278       {"onbeforecopy", ATTR_ONBEFORECOPY},
279 #line 104 "htmlattrs.gperf"
280       {"onbeforepaste", ATTR_ONBEFOREPASTE},
281 #line 47 "htmlattrs.gperf"
282       {"colspan", ATTR_COLSPAN},
283 #line 56 "htmlattrs.gperf"
284       {"defer", ATTR_DEFER},
285 #line 105 "htmlattrs.gperf"
286       {"onblur", ATTR_ONBLUR},
287 #line 87 "htmlattrs.gperf"
288       {"max", ATTR_MAX},
289 #line 175 "htmlattrs.gperf"
290       {"text", ATTR_TEXT},
291 #line 37 "htmlattrs.gperf"
292       {"cellborder", ATTR_CELLBORDER},
293 #line 16 "htmlattrs.gperf"
294       {"action", ATTR_ACTION},
295 #line 57 "htmlattrs.gperf"
296       {"dir", ATTR_DIR},
297 #line 80 "htmlattrs.gperf"
298       {"left", ATTR_LEFT},
299 #line 90 "htmlattrs.gperf"
300       {"media", ATTR_MEDIA},
301 #line 182 "htmlattrs.gperf"
302       {"usemap", ATTR_USEMAP},
303 #line 141 "htmlattrs.gperf"
304       {"pagex", ATTR_PAGEX},
305 #line 38 "htmlattrs.gperf"
306       {"cite", ATTR_CITE},
307 #line 64 "htmlattrs.gperf"
308       {"frameborder", ATTR_FRAMEBORDER},
309 #line 113 "htmlattrs.gperf"
310       {"ondragend", ATTR_ONDRAGEND},
311 #line 100 "htmlattrs.gperf"
312       {"object", ATTR_OBJECT},
313 #line 120 "htmlattrs.gperf"
314       {"onfocus", ATTR_ONFOCUS},
315 #line 96 "htmlattrs.gperf"
316       {"noresize", ATTR_NORESIZE},
317 #line 94 "htmlattrs.gperf"
318       {"name", ATTR_NAME},
319 #line 176 "htmlattrs.gperf"
320       {"title", ATTR_TITLE},
321 #line 114 "htmlattrs.gperf"
322       {"ondragenter", ATTR_ONDRAGENTER},
323 #line 83 "htmlattrs.gperf"
324       {"longdesc", ATTR_LONGDESC},
325 #line 165 "htmlattrs.gperf"
326       {"size", ATTR_SIZE},
327 #line 70 "htmlattrs.gperf"
328       {"hspace", ATTR_HSPACE},
329 #line 153 "htmlattrs.gperf"
330       {"results", ATTR_RESULTS},
331 #line 135 "htmlattrs.gperf"
332       {"onsearch", ATTR_ONSEARCH},
333 #line 148 "htmlattrs.gperf"
334       {"precision", ATTR_PRECISION},
335 #line 144 "htmlattrs.gperf"
336       {"plain", ATTR_PLAIN},
337 #line 34 "htmlattrs.gperf"
338       {"charoff", ATTR_CHAROFF},
339 #line 78 "htmlattrs.gperf"
340       {"lang", ATTR_LANG},
341 #line 157 "htmlattrs.gperf"
342       {"rules", ATTR_RULES},
343 #line 189 "htmlattrs.gperf"
344       {"vspace", ATTR_VSPACE},
345 #line 138 "htmlattrs.gperf"
346       {"onsubmit", ATTR_ONSUBMIT},
347 #line 158 "htmlattrs.gperf"
348       {"scheme", ATTR_SCHEME},
349 #line 26 "htmlattrs.gperf"
350       {"bgcolor", ATTR_BGCOLOR},
351 #line 151 "htmlattrs.gperf"
352       {"readonly", ATTR_READONLY},
353 #line 103 "htmlattrs.gperf"
354       {"onbeforecut", ATTR_ONBEFORECUT},
355 #line 50 "htmlattrs.gperf"
356       {"content", ATTR_CONTENT},
357 #line 59 "htmlattrs.gperf"
358       {"disabled", ATTR_DISABLED},
359 #line 162 "htmlattrs.gperf"
360       {"scrolling", ATTR_SCROLLING},
361 #line 13 "htmlattrs.gperf"
362       {"accept-charset", ATTR_ACCEPT_CHARSET},
363 #line 74 "htmlattrs.gperf"
364       {"incremental", ATTR_INCREMENTAL},
365 #line 139 "htmlattrs.gperf"
366       {"onunload", ATTR_ONUNLOAD},
367 #line 68 "htmlattrs.gperf"
368       {"href", ATTR_HREF},
369 #line 17 "htmlattrs.gperf"
370       {"align", ATTR_ALIGN},
371 #line 121 "htmlattrs.gperf"
372       {"oninput", ATTR_ONINPUT},
373 #line 154 "htmlattrs.gperf"
374       {"rev", ATTR_REV},
375 #line 178 "htmlattrs.gperf"
376       {"topmargin", ATTR_TOPMARGIN},
377 #line 116 "htmlattrs.gperf"
378       {"ondragover", ATTR_ONDRAGOVER},
379 #line 27 "htmlattrs.gperf"
380       {"bgproperties", ATTR_BGPROPERTIES},
381 #line 130 "htmlattrs.gperf"
382       {"onmouseup", ATTR_ONMOUSEUP},
383 #line 128 "htmlattrs.gperf"
384       {"onmouseout", ATTR_ONMOUSEOUT},
385 #line 65 "htmlattrs.gperf"
386       {"headers", ATTR_HEADERS},
387 #line 33 "htmlattrs.gperf"
388       {"challenge", ATTR_CHALLENGE},
389 #line 143 "htmlattrs.gperf"
390       {"placeholder", ATTR_PLACEHOLDER},
391 #line 168 "htmlattrs.gperf"
392       {"standby", ATTR_STANDBY},
393 #line 155 "htmlattrs.gperf"
394       {"rows", ATTR_ROWS},
395 #line 192 "htmlattrs.gperf"
396       {"z-index", ATTR_Z_INDEX},
397 #line 21 "htmlattrs.gperf"
398       {"autocomplete", ATTR_AUTOCOMPLETE},
399 #line 191 "htmlattrs.gperf"
400       {"wrap", ATTR_WRAP},
401 #line 123 "htmlattrs.gperf"
402       {"onkeypress", ATTR_ONKEYPRESS},
403 #line 91 "htmlattrs.gperf"
404       {"method", ATTR_METHOD},
405 #line 140 "htmlattrs.gperf"
406       {"oversrc", ATTR_OVERSRC},
407 #line 115 "htmlattrs.gperf"
408       {"ondragleave", ATTR_ONDRAGLEAVE},
409 #line 171 "htmlattrs.gperf"
410       {"summary", ATTR_SUMMARY},
411 #line 98 "htmlattrs.gperf"
412       {"noshade", ATTR_NOSHADE},
413 #line 172 "htmlattrs.gperf"
414       {"tabindex", ATTR_TABINDEX},
415 #line 15 "htmlattrs.gperf"
416       {"accesskey", ATTR_ACCESSKEY},
417 #line 93 "htmlattrs.gperf"
418       {"multiple", ATTR_MULTIPLE},
419 #line 97 "htmlattrs.gperf"
420       {"nosave", ATTR_NOSAVE},
421 #line 160 "htmlattrs.gperf"
422       {"scrollamount", ATTR_SCROLLAMOUNT},
423 #line 92 "htmlattrs.gperf"
424       {"min", ATTR_MIN},
425 #line 36 "htmlattrs.gperf"
426       {"checked", ATTR_CHECKED},
427 #line 107 "htmlattrs.gperf"
428       {"onclick", ATTR_ONCLICK},
429 #line 58 "htmlattrs.gperf"
430       {"direction", ATTR_DIRECTION},
431 #line 30 "htmlattrs.gperf"
432       {"cellpadding", ATTR_CELLPADDING},
433 #line 71 "htmlattrs.gperf"
434       {"html", ATTR_HTML},
435 #line 31 "htmlattrs.gperf"
436       {"cellspacing", ATTR_CELLSPACING},
437 #line 184 "htmlattrs.gperf"
438       {"value", ATTR_VALUE},
439 #line 129 "htmlattrs.gperf"
440       {"onmouseover", ATTR_ONMOUSEOVER},
441 #line 51 "htmlattrs.gperf"
442       {"contenteditable", ATTR_CONTENTEDITABLE},
443 #line 106 "htmlattrs.gperf"
444       {"onchange", ATTR_ONCHANGE},
445 #line 95 "htmlattrs.gperf"
446       {"nohref", ATTR_NOHREF},
447 #line 76 "htmlattrs.gperf"
448       {"keytype", ATTR_KEYTYPE},
449 #line 185 "htmlattrs.gperf"
450       {"valuetype", ATTR_VALUETYPE},
451 #line 111 "htmlattrs.gperf"
452       {"ondblclick", ATTR_ONDBLCLICK},
453 #line 124 "htmlattrs.gperf"
454       {"onkeyup", ATTR_ONKEYUP},
455 #line 79 "htmlattrs.gperf"
456       {"language", ATTR_LANGUAGE},
457 #line 127 "htmlattrs.gperf"
458       {"onmousemove", ATTR_ONMOUSEMOVE},
459 #line 99 "htmlattrs.gperf"
460       {"nowrap", ATTR_NOWRAP},
461 #line 156 "htmlattrs.gperf"
462       {"rowspan", ATTR_ROWSPAN},
463 #line 22 "htmlattrs.gperf"
464       {"autosave", ATTR_AUTOSAVE},
465 #line 186 "htmlattrs.gperf"
466       {"version", ATTR_VERSION},
467 #line 145 "htmlattrs.gperf"
468       {"pluginpage", ATTR_PLUGINPAGE},
469 #line 146 "htmlattrs.gperf"
470       {"pluginspage", ATTR_PLUGINSPAGE},
471 #line 20 "htmlattrs.gperf"
472       {"archive", ATTR_ARCHIVE},
473 #line 81 "htmlattrs.gperf"
474       {"leftmargin", ATTR_LEFTMARGIN},
475 #line 183 "htmlattrs.gperf"
476       {"valign", ATTR_VALIGN},
477 #line 69 "htmlattrs.gperf"
478       {"hreflang", ATTR_HREFLANG},
479 #line 67 "htmlattrs.gperf"
480       {"hidden", ATTR_HIDDEN},
481 #line 18 "htmlattrs.gperf"
482       {"alink", ATTR_ALINK},
483 #line 147 "htmlattrs.gperf"
484       {"pluginurl", ATTR_PLUGINURL},
485 #line 108 "htmlattrs.gperf"
486       {"oncontextmenu", ATTR_ONCONTEXTMENU},
487 #line 66 "htmlattrs.gperf"
488       {"height", ATTR_HEIGHT},
489 #line 25 "htmlattrs.gperf"
490       {"behavior", ATTR_BEHAVIOR},
491 #line 88 "htmlattrs.gperf"
492       {"maxlength", ATTR_MAXLENGTH},
493 #line 187 "htmlattrs.gperf"
494       {"visibility", ATTR_VISIBILITY},
495 #line 126 "htmlattrs.gperf"
496       {"onmousedown", ATTR_ONMOUSEDOWN},
497 #line 82 "htmlattrs.gperf"
498       {"link", ATTR_LINK},
499 #line 24 "htmlattrs.gperf"
500       {"background", ATTR_BACKGROUND},
501 #line 190 "htmlattrs.gperf"
502       {"width", ATTR_WIDTH},
503 #line 72 "htmlattrs.gperf"
504       {"http-equiv", ATTR_HTTP_EQUIV},
505 #line 188 "htmlattrs.gperf"
506       {"vlink", ATTR_VLINK},
507 #line 122 "htmlattrs.gperf"
508       {"onkeydown", ATTR_ONKEYDOWN},
509 #line 85 "htmlattrs.gperf"
510       {"marginheight", ATTR_MARGINHEIGHT},
511 #line 86 "htmlattrs.gperf"
512       {"marginwidth", ATTR_MARGINWIDTH},
513 #line 181 "htmlattrs.gperf"
514       {"unknown", ATTR_UNKNOWN}
515     };
516
517   static const short lookup[] =
518     {
519        -1,  -1,  -1,   0,  -1,  -1,   1,  -1,   2,  -1,
520         3,   4,   5,  -1,   6,  -1,  -1,   7,  -1,   8,
521        -1,   9,  10,  -1,  11,  12,  13,  -1,  -1,  14,
522        -1,  15,  16,  17,  -1,  -1,  18,  19,  20,  21,
523        -1,  22,  23,  24,  25,  -1,  -1,  -1,  26,  27,
524        28,  -1,  -1,  29,  30,  31,  32,  33,  34,  -1,
525        35,  36,  37,  38,  -1,  -1,  -1,  -1,  39,  -1,
526        -1,  40,  -1,  -1,  -1,  -1,  41,  -1,  42,  -1,
527        43,  44,  -1,  -1,  45,  46,  -1,  47,  -1,  -1,
528        48,  -1,  -1,  -1,  -1,  49,  -1,  -1,  50,  51,
529        52,  -1,  53,  -1,  54,  -1,  -1,  -1,  55,  56,
530        -1,  57,  -1,  -1,  58,  59,  -1,  60,  -1,  -1,
531        61,  -1,  62,  63,  -1,  -1,  -1,  64,  -1,  -1,
532        65,  66,  -1,  67,  68,  69,  70,  -1,  71,  72,
533        73,  74,  -1,  -1,  -1,  75,  -1,  -1,  -1,  76,
534        -1,  77,  -1,  -1,  78,  -1,  79,  80,  81,  82,
535        83,  84,  -1,  85,  86,  -1,  87,  88,  89,  90,
536        91,  -1,  92,  -1,  93,  94,  95,  -1,  -1,  -1,
537        -1,  -1,  -1,  96,  -1,  -1,  -1,  -1,  -1,  -1,
538        -1,  97,  98,  99,  -1,  -1, 100, 101, 102, 103,
539        -1,  -1,  -1,  -1, 104,  -1, 105,  -1, 106, 107,
540       108,  -1, 109, 110, 111, 112,  -1, 113,  -1, 114,
541       115,  -1, 116,  -1, 117,  -1, 118, 119,  -1, 120,
542        -1,  -1, 121,  -1,  -1,  -1,  -1, 122,  -1, 123,
543       124, 125, 126,  -1,  -1,  -1, 127, 128,  -1,  -1,
544        -1,  -1, 129, 130, 131,  -1,  -1,  -1, 132,  -1,
545        -1, 133, 134, 135,  -1,  -1,  -1, 136,  -1,  -1,
546        -1,  -1, 137,  -1, 138,  -1, 139,  -1,  -1, 140,
547        -1, 141,  -1,  -1,  -1, 142,  -1,  -1,  -1,  -1,
548        -1, 143,  -1,  -1,  -1, 144,  -1,  -1, 145,  -1,
549        -1, 146, 147,  -1, 148,  -1,  -1,  -1,  -1,  -1,
550        -1,  -1,  -1,  -1,  -1, 149,  -1, 150, 151,  -1,
551        -1,  -1,  -1,  -1,  -1,  -1, 152,  -1,  -1,  -1,
552        -1, 153, 154, 155,  -1,  -1,  -1, 156,  -1,  -1,
553        -1,  -1,  -1,  -1,  -1, 157, 158, 159,  -1,  -1,
554       160,  -1,  -1,  -1,  -1,  -1, 161,  -1,  -1,  -1,
555        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 162,  -1,
556        -1,  -1,  -1,  -1,  -1,  -1, 163,  -1,  -1,  -1,
557       164,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 165,
558        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 166,  -1,
559        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
560        -1,  -1,  -1,  -1,  -1,  -1, 167,  -1,  -1,  -1,
561        -1,  -1,  -1, 168,  -1,  -1,  -1,  -1,  -1, 169,
562        -1,  -1,  -1,  -1,  -1, 170,  -1,  -1,  -1,  -1,
563        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
564        -1, 171,  -1,  -1, 172,  -1,  -1,  -1,  -1,  -1,
565        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
566        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
567        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
568       173,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
569        -1,  -1,  -1,  -1,  -1, 174,  -1,  -1,  -1,  -1,
570        -1,  -1,  -1,  -1,  -1, 175,  -1,  -1,  -1,  -1,
571       176,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
572        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
573        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1, 177,
574        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
575        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
576        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
577        -1,  -1,  -1,  -1,  -1,  -1,  -1, 178,  -1,  -1,
578        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
579        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
580        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
581        -1,  -1,  -1,  -1,  -1,  -1, 179,  -1,  -1,  -1,
582        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
583        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
584        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
585        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
586        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
587        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
588        -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,  -1,
589        -1,  -1,  -1,  -1,  -1,  -1,  -1, 180
590     };
591
592   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
593     {
594       register int key = hash_attr (str, len);
595
596       if (key <= MAX_HASH_VALUE && key >= 0)
597         {
598           register int index = lookup[key];
599
600           if (index >= 0)
601             {
602               register const char *s = wordlist_attr[index].name;
603
604               if (*str == *s && !strncmp (str + 1, s + 1, len - 1) && s[len] == '\0')
605                 return &wordlist_attr[index];
606             }
607         }
608     }
609   return 0;
610 }
611 #line 193 "htmlattrs.gperf"
612
613
614
615 static const char * const attrList[] = {
616     "ABBR",
617     "ACCEPT-CHARSET",
618     "ACCEPT",
619     "ACCESSKEY",
620     "ACTION",
621     "ALIGN",
622     "ALINK",
623     "ALT",
624     "ARCHIVE",
625     "AUTOCOMPLETE",
626     "AUTOSAVE",
627     "AXIS",
628     "BACKGROUND",
629     "BEHAVIOR",
630     "BGCOLOR",
631     "BGPROPERTIES",
632     "BORDER",
633     "BORDERCOLOR",
634     "CELLPADDING",
635     "CELLSPACING",
636     "CHAR",
637     "CHALLENGE",
638     "CHAROFF",
639     "CHARSET",
640     "CHECKED",
641     "CELLBORDER",
642     "CITE",
643     "CLASS",
644     "CLASSID",
645     "CLEAR",
646     "CODE",
647     "CODEBASE",
648     "CODETYPE",
649     "COLOR",
650     "COLS",
651     "COLSPAN",
652     "COMPACT",
653     "COMPOSITE",
654     "CONTENT",
655     "CONTENTEDITABLE",
656     "COORDS",
657     "DATA",
658     "DATETIME",
659     "DECLARE",
660     "DEFER",
661     "DIR",
662     "DIRECTION",
663     "DISABLED",
664     "ENCTYPE",
665     "FACE",
666     "FOR",
667     "FRAME",
668     "FRAMEBORDER",
669     "HEADERS",
670     "HEIGHT",
671     "HIDDEN",
672     "HREF",
673     "HREFLANG",
674     "HSPACE",
675     "HTML",
676     "HTTP-EQUIV",
677     "ID",
678     "INCREMENTAL",
679     "ISMAP",
680     "KEYTYPE",
681     "LABEL",
682     "LANG",
683     "LANGUAGE",
684     "LEFT",
685     "LEFTMARGIN",
686     "LINK",
687     "LONGDESC",
688     "LOOP",
689     "MARGINHEIGHT",
690     "MARGINWIDTH",
691     "MAX",
692     "MAXLENGTH",
693     "MAYSCRIPT",
694     "MEDIA",
695     "METHOD",
696     "MIN",
697     "MULTIPLE",
698     "NAME",
699     "NOHREF",
700     "NORESIZE",
701     "NOSAVE",
702     "NOSHADE",
703     "NOWRAP",
704     "OBJECT",
705     "ONABORT",
706     "ONBEFORECOPY",
707     "ONBEFORECUT",
708     "ONBEFOREPASTE",
709     "ONBLUR",
710     "ONCHANGE",
711     "ONCLICK",
712     "ONCONTEXTMENU",
713     "ONCOPY",
714     "ONCUT",
715     "ONDBLCLICK",
716     "ONDRAG",
717     "ONDRAGEND",
718     "ONDRAGENTER",
719     "ONDRAGLEAVE",
720     "ONDRAGOVER",
721     "ONDRAGSTART",
722     "ONDROP",
723     "ONERROR",
724     "ONFOCUS",
725     "ONINPUT",
726     "ONKEYDOWN",
727     "ONKEYPRESS",
728     "ONKEYUP",
729     "ONLOAD",
730     "ONMOUSEDOWN",
731     "ONMOUSEMOVE",
732     "ONMOUSEOUT",
733     "ONMOUSEOVER",
734     "ONMOUSEUP",
735     "ONPASTE",
736     "ONRESET",
737     "ONRESIZE",
738     "ONSCROLL",
739     "ONSEARCH",
740     "ONSELECT",
741     "ONSELECTSTART",
742     "ONSUBMIT",
743     "ONUNLOAD",
744     "OVERSRC",
745     "PAGEX",
746     "PAGEY",
747     "PLACEHOLDER",
748     "PLAIN",
749     "PLUGINPAGE",
750     "PLUGINSPAGE",
751     "PLUGINURL",
752     "PRECISION",
753     "PROFILE",
754     "PROMPT",
755     "READONLY",
756     "REL",
757     "RESULTS",
758     "REV",
759     "ROWS",
760     "ROWSPAN",
761     "RULES",
762     "SCHEME",
763     "SCOPE",
764     "SCROLLAMOUNT",
765     "SCROLLDELAY",
766     "SCROLLING",
767     "SELECTED",
768     "SHAPE",
769     "SIZE",
770     "SPAN",
771     "SRC",
772     "STANDBY",
773     "START",
774     "STYLE",
775     "SUMMARY",
776     "TABINDEX",
777     "TABLEBORDER",
778     "TARGET",
779     "TEXT",
780     "TITLE",
781     "TOP",
782     "TOPMARGIN",
783     "TRUESPEED",
784     "TYPE",
785     "UNKNOWN",
786     "USEMAP",
787     "VALIGN",
788     "VALUE",
789     "VALUETYPE",
790     "VERSION",
791     "VISIBILITY",
792     "VLINK",
793     "VSPACE",
794     "WIDTH",
795     "WRAP",
796     "Z-INDEX",
797     0
798 };
799 DOM::DOMString getAttrName(unsigned short id)
800 {
801     return attrList[id-1];
802 }