Return to HTMLnames.h CVS log | Up to [Public] / Amaya / amaya |
1.9 cvs 1: /* Mapping table of XHTML elements */ 1.2 cvs 2: #include "HTML.h" 1.1 cvs 3: static ElemMapping XHTMLElemMappingTable[] = 4: { 1.30 cvs 5: /* This table MUST be in alphabetical order and in lower case */ 1.11 cvs 6: 1.25 cvs 7: {"a", SPACE, HTML_EL_Anchor, L_BasicValue, TRUE}, 1.16 cvs 8: {"abbr", SPACE, HTML_EL_ABBR, L_BasicValue, TRUE}, 9: {"acronym", SPACE, HTML_EL_ACRONYM, L_BasicValue, TRUE}, 10: {"address", SPACE, HTML_EL_Address, L_BasicValue, FALSE}, 1.45 vatton 11: {"applet", SPACE, HTML_EL_Applet, L_TransitionalValue, TRUE}, 1.16 cvs 12: {"area", 'E', HTML_EL_AREA, L_StrictValue, FALSE}, 13: {"b", SPACE, HTML_EL_Bold_text, L_StrictValue, TRUE}, 14: {"base", 'E', HTML_EL_BASE, L_BasicValue, FALSE}, 15: {"basefont", 'E', HTML_EL_BaseFont, L_TransitionalValue, FALSE}, 16: {"bdo", SPACE, HTML_EL_BDO, L_StrictValue, TRUE}, 17: {"big", SPACE, HTML_EL_Big_text, L_StrictValue, TRUE}, 18: {"blockquote", SPACE, HTML_EL_Block_Quote, L_BasicValue, FALSE}, 19: {"body", SPACE, HTML_EL_BODY, L_BasicValue, FALSE}, 20: {"br", 'E', HTML_EL_BR, L_BasicValue, TRUE}, 21: {"button", SPACE, HTML_EL_BUTTON_, L_StrictValue, TRUE}, 22: {"c", SPACE, HTML_EL_TEXT_UNIT, L_OtherValue, TRUE}, /* used by the trans.c */ 23: {"caption", SPACE, HTML_EL_CAPTION, L_BasicValue, FALSE}, 1.30 cvs 24: {"cdata", SPACE, HTML_EL_CDATA, L_OtherValue, FALSE}, 25: {"cdata_line", SPACE, HTML_EL_CDATA_line, L_OtherValue, FALSE}, 1.16 cvs 26: {"center", SPACE, HTML_EL_Center, L_TransitionalValue, FALSE}, 27: {"cite", SPACE, HTML_EL_Cite, L_BasicValue, TRUE}, 28: {"code", SPACE, HTML_EL_Code, L_BasicValue, TRUE}, 29: {"colgroup", SPACE, HTML_EL_COLGROUP, L_StrictValue, FALSE}, 30: {"col", SPACE, HTML_EL_COL, L_StrictValue, FALSE}, 31: {"dd", SPACE, HTML_EL_Definition, L_BasicValue, FALSE}, 1.65 vatton 32: {"del", SPACE, HTML_EL_del, L_StrictValue, TRUE}, /* inline */ 33: {"del", SPACE, HTML_EL_DEL, L_StrictValue, TRUE}, /* block */ 1.16 cvs 34: {"dfn", SPACE, HTML_EL_Def, L_BasicValue, TRUE}, 35: {"dir", SPACE, HTML_EL_Directory, L_StrictValue, FALSE}, 36: {"div", SPACE, HTML_EL_Division, L_BasicValue, FALSE}, 37: {"dl", SPACE, HTML_EL_Definition_List, L_BasicValue, FALSE}, 1.30 cvs 38: {"doctype", SPACE, HTML_EL_DOCTYPE, L_OtherValue, FALSE}, 39: {"doctype_line", SPACE, HTML_EL_DOCTYPE_line, L_OtherValue, FALSE}, 1.16 cvs 40: {"dt", SPACE, HTML_EL_Term, L_BasicValue, FALSE}, 41: {"em", SPACE, HTML_EL_Emphasis, L_BasicValue, TRUE}, 1.28 quint 42: {"embed", 'E', HTML_EL_Embed_, L_TransitionalValue, TRUE}, 1.16 cvs 43: {"fieldset", SPACE, HTML_EL_FIELDSET, L_StrictValue, FALSE}, 44: {"font", SPACE, HTML_EL_Font_, L_TransitionalValue, TRUE}, 45: {"form", SPACE, HTML_EL_Form, L_BasicValue, FALSE}, 46: {"frame", 'E', HTML_EL_FRAME, L_TransitionalValue, FALSE}, 47: {"frameset", SPACE, HTML_EL_FRAMESET, L_TransitionalValue, FALSE}, 48: {"h1", SPACE, HTML_EL_H1, L_BasicValue, FALSE}, 49: {"h2", SPACE, HTML_EL_H2, L_BasicValue, FALSE}, 50: {"h3", SPACE, HTML_EL_H3, L_BasicValue, FALSE}, 51: {"h4", SPACE, HTML_EL_H4, L_BasicValue, FALSE}, 52: {"h5", SPACE, HTML_EL_H5, L_BasicValue, FALSE}, 53: {"h6", SPACE, HTML_EL_H6, L_BasicValue, FALSE}, 54: {"head", SPACE, HTML_EL_HEAD, L_BasicValue, FALSE}, 55: {"hr", 'E', HTML_EL_Horizontal_Rule, L_StrictValue, FALSE}, 56: {"html", SPACE, HTML_EL_HTML, L_BasicValue, FALSE}, 57: {"i", SPACE, HTML_EL_Italic_text, L_StrictValue, TRUE}, 1.45 vatton 58: {"iframe", SPACE, HTML_EL_IFRAME, L_TransitionalValue, TRUE}, 1.49 vatton 59: /*{"image", 'E', HTML_EL_PICTURE_UNIT, L_StrictValue, TRUE},*/ 1.61 vatton 60: {"img", 'E', HTML_EL_IMG, L_BasicValue, TRUE}, 1.16 cvs 61: {"input", 'E', HTML_EL_Input, L_BasicValue, TRUE}, 62: {"input", 'E', HTML_EL_Text_Input, L_BasicValue, TRUE}, 63: {"input", 'E', HTML_EL_Password_Input, L_BasicValue, TRUE}, 64: {"input", 'E', HTML_EL_File_Input, L_BasicValue, TRUE}, 1.62 vatton 65: {"input", 'E', HTML_EL_Image_Input, L_BasicValue, TRUE}, 1.40 cvs 66: {"input", 'E', HTML_EL_Checkbox_Input, L_BasicValue, TRUE}, 67: {"input", 'E', HTML_EL_Radio_Input, L_BasicValue, TRUE}, 68: {"input", 'E', HTML_EL_Submit_Input, L_BasicValue, TRUE}, 69: {"input", 'E', HTML_EL_Reset_Input, L_BasicValue, TRUE}, 1.16 cvs 70: {"input", 'E', HTML_EL_Button_Input, L_BasicValue, TRUE}, 1.40 cvs 71: {"input", 'E', HTML_EL_Hidden_Input, L_BasicValue, TRUE}, 1.65 vatton 72: {"ins", SPACE, HTML_EL_ins, L_StrictValue, TRUE}, /* inline */ 73: {"ins", SPACE, HTML_EL_INS, L_StrictValue, TRUE}, /* block */ 1.16 cvs 74: {"isindex", 'E', HTML_EL_ISINDEX, L_TransitionalValue, FALSE}, 75: {"kbd", SPACE, HTML_EL_Keyboard, L_BasicValue, TRUE}, 76: {"label", SPACE, HTML_EL_LABEL, L_BasicValue, TRUE}, 77: {"legend", SPACE, HTML_EL_LEGEND, L_StrictValue, FALSE}, 78: {"li", SPACE, HTML_EL_List_Item, L_BasicValue, FALSE}, 79: {"link", 'E', HTML_EL_LINK, L_BasicValue, FALSE}, 80: {"listing", SPACE, HTML_EL_Preformatted, L_TransitionalValue, FALSE}, /*converted to PRE */ 1.18 vatton 81: {"map", SPACE, HTML_EL_map, L_StrictValue, FALSE}, 1.16 cvs 82: {"map", SPACE, HTML_EL_MAP, L_StrictValue, FALSE}, 83: {"menu", SPACE, HTML_EL_Menu, L_TransitionalValue, FALSE}, 84: {"meta", 'E', HTML_EL_META, L_BasicValue, FALSE}, 85: {"noframes", SPACE, HTML_EL_NOFRAMES, L_TransitionalValue, FALSE}, 86: {"noscript", SPACE, HTML_EL_NOSCRIPT, L_StrictValue, FALSE}, 1.41 cvs 87: {"object", SPACE, HTML_EL_Object, L_BasicValue, TRUE}, 1.16 cvs 88: {"ol", SPACE, HTML_EL_Numbered_List, L_BasicValue, FALSE}, 89: {"optgroup", SPACE, HTML_EL_OptGroup, L_StrictValue, TRUE}, 90: {"option", SPACE, HTML_EL_Option, L_BasicValue, TRUE}, 91: {"p", SPACE, HTML_EL_Paragraph, L_BasicValue, FALSE}, 92: {"p*", SPACE, HTML_EL_Pseudo_paragraph, L_BasicValue, FALSE}, /* pseudo-paragraph */ 93: {"param", 'E', HTML_EL_Parameter, L_BasicValue, FALSE}, 94: {"plaintext", SPACE, HTML_EL_Preformatted, L_TransitionalValue, FALSE},/* converted to PRE */ 95: {"pre", SPACE, HTML_EL_Preformatted, L_BasicValue, FALSE}, 96: {"q", SPACE, HTML_EL_Quotation, L_BasicValue, TRUE}, 1.35 quint 97: {"rb", SPACE, HTML_EL_rb, L_RubyValue, FALSE}, 1.16 cvs 98: {"rbc", SPACE, HTML_EL_rbc, L_RubyValue, FALSE}, 99: {"rp", SPACE, HTML_EL_rp, L_RubyValue, FALSE}, 1.35 quint 100: {"rt", SPACE, HTML_EL_rt, L_RubyValue, FALSE}, 1.16 cvs 101: {"rtc", SPACE, HTML_EL_rtc1, L_RubyValue, FALSE}, 102: {"rtc", SPACE, HTML_EL_rtc2, L_RubyValue, FALSE}, 103: {"ruby", SPACE, HTML_EL_simple_ruby, L_RubyValue, TRUE}, 104: {"s", SPACE, HTML_EL_Struck_text, L_StrictValue, TRUE}, 105: {"samp", SPACE, HTML_EL_Sample, L_BasicValue, TRUE}, 1.26 vatton 106: {"script", SPACE, HTML_EL_SCRIPT_, L_StrictValue, FALSE}, 1.16 cvs 107: {"select", SPACE, HTML_EL_Option_Menu, L_BasicValue, TRUE}, 108: {"small", SPACE, HTML_EL_Small_text, L_StrictValue, TRUE}, 109: {"span", SPACE, HTML_EL_Span, L_BasicValue, TRUE}, 110: {"strike", SPACE, HTML_EL_Struck_text, L_TransitionalValue, TRUE}, 111: {"strong", SPACE, HTML_EL_Strong, L_BasicValue, TRUE}, 1.66 vatton 112: {"style", SPACE, HTML_EL_STYLE_, L_BasicValue, FALSE}, 1.16 cvs 113: {"sub", SPACE, HTML_EL_Subscript, L_StrictValue, TRUE}, 114: {"sup", SPACE, HTML_EL_Superscript, L_StrictValue, TRUE}, 115: {"symb", SPACE, HTML_EL_SYMBOL_UNIT, L_OtherValue, TRUE}, 1.54 quint 116: {"table", SPACE, HTML_EL_Table_, L_BasicValue, FALSE}, 1.16 cvs 117: {"tbody", SPACE, HTML_EL_tbody, L_BasicValue, FALSE}, 118: {"td", SPACE, HTML_EL_Data_cell, L_BasicValue, FALSE}, 119: {"textarea", SPACE, HTML_EL_Text_Area, L_BasicValue, TRUE}, 120: {"tfoot", SPACE, HTML_EL_tfoot, L_StrictValue, FALSE}, 121: {"th", SPACE, HTML_EL_Heading_cell, L_BasicValue, FALSE}, 122: {"thead", SPACE, HTML_EL_thead, L_StrictValue, FALSE}, 123: {"title", SPACE, HTML_EL_TITLE, L_BasicValue, FALSE}, 124: {"tr", SPACE, HTML_EL_Table_row, L_BasicValue, FALSE}, 125: {"tt", SPACE, HTML_EL_Teletype_text, L_StrictValue, TRUE}, 126: {"u", SPACE, HTML_EL_Underlined_text, L_StrictValue, TRUE}, 127: {"ul", SPACE, HTML_EL_Unnumbered_List, L_BasicValue, FALSE}, 1.42 quint 128: {"var", SPACE, HTML_EL_Variable_, L_BasicValue, TRUE}, 1.30 cvs 129: {"xmlcomment", SPACE, HTML_EL_Comment_, L_OtherValue, FALSE}, 130: {"xmlcomment_line", SPACE, HTML_EL_Comment_line, L_OtherValue, FALSE}, 131: {"xmlpi", SPACE, HTML_EL_XMLPI, L_OtherValue, FALSE}, 132: {"xmlpi_line", SPACE, HTML_EL_PI_line, L_OtherValue, FALSE}, 1.16 cvs 133: {"xmp", SPACE, HTML_EL_Preformatted, L_TransitionalValue, FALSE}, /* converted to PRE */ 134: {"", SPACE, 0, L_BasicValue, FALSE} /* Last entry. Mandatory */ 1.1 cvs 135: }; 136: 1.9 cvs 137: /* Mapping table of Xhtml attributes */ 1.1 cvs 138: AttributeMapping XHTMLAttributeMappingTable[] = 139: { 140: /* The first entry MUST be unknown_attr */ 141: /* The rest of this table MUST be in alphabetical order */ 1.16 cvs 142: {"unknown_attr", "", 'A', HTML_ATTR_Invalid_attribute, L_TransitionalValue}, 1.1 cvs 143: 1.16 cvs 144: {"abbr", "", 'A', HTML_ATTR_abbr, L_BasicValue}, 1.67 ! carcone 145: {"about", "", 'A', HTML_ATTR_about, L_RDFaValue}, 1.16 cvs 146: {"accept", "", 'A', HTML_ATTR_accept, L_BasicValue}, 147: {"accept-charset", "form", 'A', HTML_ATTR_accept_charset, L_BasicValue}, 148: {"accesskey", "", 'A', HTML_ATTR_accesskey, L_BasicValue}, 149: {"action", "", 'A', HTML_ATTR_Script_URL, L_BasicValue}, 150: {"align", "applet", 'A', HTML_ATTR_Alignment, L_TransitionalValue}, 1.37 cvs 151: {"align", "caption", 'A', HTML_ATTR_Position, L_TransitionalValue}, 1.16 cvs 152: {"align", "col", 'A', HTML_ATTR_Cell_align, L_StrictValue}, 153: {"align", "colgroup", 'A', HTML_ATTR_Cell_align, L_StrictValue}, 154: {"align", "div", 'A', HTML_ATTR_TextAlign, L_TransitionalValue}, 1.20 cvs 155: {"align", "embed", 'A', HTML_ATTR_Alignment, L_TransitionalValue}, 1.16 cvs 156: {"align", "h1", 'A', HTML_ATTR_TextAlign, L_TransitionalValue}, 157: {"align", "h2", 'A', HTML_ATTR_TextAlign, L_TransitionalValue}, 158: {"align", "h3", 'A', HTML_ATTR_TextAlign, L_TransitionalValue}, 159: {"align", "h4", 'A', HTML_ATTR_TextAlign, L_TransitionalValue}, 160: {"align", "h5", 'A', HTML_ATTR_TextAlign, L_TransitionalValue}, 161: {"align", "h6", 'A', HTML_ATTR_TextAlign, L_TransitionalValue}, 162: {"align", "hr", 'A', HTML_ATTR_Align, L_TransitionalValue}, 163: {"align", "iframe", 'A', HTML_ATTR_Alignment, L_TransitionalValue}, 1.49 vatton 164: /*{"align", "image", 'A', HTML_ATTR_Alignment, L_TransitionalValue},*/ 1.16 cvs 165: {"align", "img", 'A', HTML_ATTR_Alignment, L_TransitionalValue}, 166: {"align", "input", 'A', HTML_ATTR_Alignment, L_TransitionalValue}, 167: {"align", "legend", 'A', HTML_ATTR_LAlign, L_TransitionalValue}, 168: {"align", "object", 'A', HTML_ATTR_Alignment, L_TransitionalValue}, 169: {"align", "p", 'A', HTML_ATTR_TextAlign, L_TransitionalValue}, 170: {"align", "table", 'A', HTML_ATTR_Align, L_TransitionalValue}, 171: {"align", "tbody", 'A', HTML_ATTR_Cell_align, L_StrictValue}, 172: {"align", "td", 'A', HTML_ATTR_Cell_align, L_StrictValue}, 173: {"align", "tfoot", 'A', HTML_ATTR_Cell_align, L_StrictValue}, 174: {"align", "th", 'A', HTML_ATTR_Cell_align, L_StrictValue}, 175: {"align", "thead", 'A', HTML_ATTR_Cell_align, L_StrictValue}, 176: {"align", "tr", 'A', HTML_ATTR_Cell_align, L_StrictValue}, 177: {"alink", "body", 'A', HTML_ATTR_ActiveLinkColor, L_TransitionalValue}, 1.64 cvs 178: {"alt", "applet", 'A', HTML_ATTR_ALT, L_TransitionalValue}, 179: {"alt", "area", 'A', HTML_ATTR_ALT, L_StrictValue}, 180: {"alt", "embed", 'A', HTML_ATTR_ALT, L_TransitionalValue}, 181: {"alt", "img", 'A', HTML_ATTR_ALT, L_BasicValue}, 182: {"alt", "input", 'A', HTML_ATTR_ALT, L_BasicValue}, 1.16 cvs 183: {"archive", "", 'A', HTML_ATTR_archive, L_BasicValue}, 184: {"axis", "", 'A', HTML_ATTR_axis, L_BasicValue}, 185: 186: {"background", "", 'A', HTML_ATTR_background_, L_TransitionalValue}, 1.46 vatton 187: {"bgcolor", "", 'A', HTML_ATTR_BackgroundColor, L_TransitionalValue}, 1.20 cvs 188: {"border", "embed", 'A', HTML_ATTR_Img_border, L_TransitionalValue}, 1.49 vatton 189: /*{"border", "image", 'A', HTML_ATTR_Img_border, L_TransitionalValue},*/ 1.16 cvs 190: {"border", "img", 'A', HTML_ATTR_Img_border, L_TransitionalValue}, 191: {"border", "object", 'A', HTML_ATTR_Img_border, L_TransitionalValue}, 192: {"border", "table", 'A', HTML_ATTR_Border, L_StrictValue}, 193: 194: {"cellspacing", "", 'A', HTML_ATTR_cellspacing, L_StrictValue}, 195: {"cellpadding", "", 'A', HTML_ATTR_cellpadding, L_StrictValue}, 196: {"char", "", 'A', HTML_ATTR_char, L_StrictValue}, 197: {"charoff", "", 'A', HTML_ATTR_charoff, L_TransitionalValue}, 198: {"charset", "", 'A', HTML_ATTR_charset, L_BasicValue}, 199: {"checked", "", 'A', HTML_ATTR_Checked, L_BasicValue}, 200: {"cite", "", 'A', HTML_ATTR_cite, L_BasicValue}, 201: {"class", "", 'A', HTML_ATTR_Class, L_BasicValue}, 202: {"classid", "", 'A', HTML_ATTR_classid, L_BasicValue}, 1.43 quint 203: {"clear", "br", 'A', HTML_ATTR_Clear_, L_TransitionalValue}, 1.16 cvs 204: {"code", "", 'A', HTML_ATTR_code, L_BasicValue}, 205: {"codebase", "", 'A', HTML_ATTR_codebase, L_BasicValue}, 206: {"codetype", "", 'A', HTML_ATTR_codetype, L_BasicValue}, 207: {"color", "basefont", 'A', HTML_ATTR_BaseFontColor, L_TransitionalValue}, 208: {"color", "", 'A', HTML_ATTR_color, L_TransitionalValue}, 209: {"cols", "frameset", 'A', HTML_ATTR_ColWidth, L_TransitionalValue}, 210: {"cols", "textarea", 'A', HTML_ATTR_Columns, L_BasicValue}, 211: {"colspan", "", 'A', HTML_ATTR_colspan_, L_BasicValue}, 212: {"compact", "", 'A', HTML_ATTR_COMPACT, L_TransitionalValue}, 213: {"content", "", 'A', HTML_ATTR_meta_content, L_BasicValue}, 214: {"coords", "", 'A', HTML_ATTR_coords, L_BasicValue}, 215: 216: {"data", "", 'A', HTML_ATTR_data, L_BasicValue}, 217: {"datapagesize", "table", 'A', HTML_ATTR_datapagesize, L_BasicValue}, 1.67 ! carcone 218: {"datatype", "", 'A', HTML_ATTR_datatype, L_RDFaValue}, 1.16 cvs 219: {"datetime", "", 'A', HTML_ATTR_datetime, L_BasicValue}, 220: {"declare", "object", 'A', HTML_ATTR_declare, L_BasicValue}, 221: {"defer", "script", 'A', HTML_ATTR_defer, L_BasicValue}, 222: {"dir", "", 'A', HTML_ATTR_dir, L_BasicValue}, 223: {"disabled", "", 'A', HTML_ATTR_disabled, L_BasicValue}, 224: 1.17 cvs 225: {"enctype", "form", 'A', HTML_ATTR_ENCTYPE, L_BasicValue}, 1.16 cvs 226: {"enctype", "", 'A', HTML_ATTR_ENCTYPE, L_StrictValue}, 227: {"event", "script", 'A', HTML_ATTR_event, L_StrictValue}, 228: 229: {"face", "basefont", 'A', HTML_ATTR_BaseFontFace, L_TransitionalValue}, 230: {"face", "font", 'A', HTML_ATTR_face, L_TransitionalValue}, 231: {"for", "label", 'A', HTML_ATTR_Associated_control, L_BasicValue}, 232: {"for", "script", 'A', HTML_ATTR_for_, L_StrictValue}, 233: {"frame", "table", 'A', HTML_ATTR_frame, L_StrictValue}, 234: {"frameborder", "", 'A', HTML_ATTR_frameborder, L_TransitionalValue}, 235: 236: {"headers", "", 'A', HTML_ATTR_headers, L_BasicValue}, 1.49 vatton 237: /*{"height", "image", 'A', HTML_ATTR_Height_, L_BasicValue},*/ 1.16 cvs 238: {"height", "img", 'A', HTML_ATTR_Height_, L_BasicValue}, 239: {"height", "object", 'A', HTML_ATTR_Height_, L_BasicValue}, 240: {"height", "", 'A', HTML_ATTR_Height_, L_TransitionalValue}, 1.21 cvs 241: {"hidden", "embed", 'A', HTML_ATTR_EmbedHidden, L_TransitionalValue}, 1.16 cvs 242: {"href", "", 'A', HTML_ATTR_HREF_, L_BasicValue}, 243: {"hreflang", "", 'A', HTML_ATTR_hreflang, L_BasicValue}, 244: {"hspace", "", 'A', HTML_ATTR_hspace, L_TransitionalValue}, 245: {"http-equiv", "", 'A', HTML_ATTR_http_equiv, L_BasicValue}, 246: 247: {"id", "", 'A', HTML_ATTR_ID, L_BasicValue}, 1.67 ! carcone 248: {"instanceof", "", 'A', HTML_ATTR_instanceof, L_RDFaValue}, 1.61 vatton 249: {"ismap", "", 'A', HTML_ATTR_ISAMAP, L_StrictValue}, 1.16 cvs 250: 251: {"label", "", 'A', HTML_ATTR_label, L_BasicValue}, 1.19 cvs 252: {"lang", "", 'A', HTML_ATTR_Language, L_BasicValue}, 1.44 cvs 253: {"language", "script", 'A', HTML_ATTR_script_language, L_BasicValue}, 1.47 vatton 254: {"link", "body", 'A', HTML_ATTR_LinkColor, L_TransitionalValue}, 1.16 cvs 255: {"longdesc", "", 'A', HTML_ATTR_longdesc, L_BasicValue}, 256: 257: {"marginheight", "", 'A', HTML_ATTR_marginheight, L_TransitionalValue}, 258: {"marginwidth", "", 'A', HTML_ATTR_marginwidth, L_TransitionalValue}, 259: {"maxlength", "", 'A', HTML_ATTR_MaxLength, L_BasicValue}, 260: {"media", "", 'A', HTML_ATTR_media, L_BasicValue}, 261: {"method", "", 'A', HTML_ATTR_METHOD, L_BasicValue}, 262: {"multiple", "", 'A', HTML_ATTR_Multiple, L_BasicValue}, 263: 264: {"name", "applet", 'A', HTML_ATTR_applet_name, L_TransitionalValue}, 1.21 cvs 265: {"name", "embed", 'A', HTML_ATTR_EmbedName, L_TransitionalValue}, 1.53 quint 266: {"name", "frame", 'A', HTML_ATTR_NAME, L_TransitionalValue}, 267: {"name", "iframe", 'A', HTML_ATTR_NAME, L_TransitionalValue}, 1.16 cvs 268: {"name", "meta", 'A', HTML_ATTR_meta_name, L_BasicValue}, 269: {"name", "param", 'A', HTML_ATTR_Param_name, L_BasicValue}, 270: {"name", "", 'A', HTML_ATTR_NAME, L_BasicValue}, 271: {"nohref", "", 'A', HTML_ATTR_nohref, L_BasicValue}, 272: {"noresize", "", 'A', HTML_ATTR_no_resize, L_BasicValue}, 273: {"noshade", "", 'A', HTML_ATTR_NoShade, L_BasicValue}, 274: {"nowrap", "", 'A', HTML_ATTR_No_wrap, L_TransitionalValue}, 275: 276: {"object", "applet", 'A', HTML_ATTR_object, L_TransitionalValue}, 277: {"onblur", "", 'A', HTML_ATTR_onblur, L_StrictValue}, 278: {"onchange", "", 'A', HTML_ATTR_onchange, L_StrictValue}, 279: {"onclick", "", 'A', HTML_ATTR_onclick, L_StrictValue}, 280: {"ondblclick", "", 'A', HTML_ATTR_ondblclick, L_StrictValue}, 281: {"onfocus", "", 'A', HTML_ATTR_onfocus, L_StrictValue}, 282: {"onkeydown", "", 'A', HTML_ATTR_onkeydown, L_StrictValue}, 283: {"onkeypress", "", 'A', HTML_ATTR_onkeypress, L_StrictValue}, 284: {"onkeyup", "", 'A', HTML_ATTR_onkeyup, L_StrictValue}, 285: {"onload", "", 'A', HTML_ATTR_onload, L_StrictValue}, 286: {"onmousedown", "", 'A', HTML_ATTR_onmousedown, L_StrictValue}, 287: {"onmousemove", "", 'A', HTML_ATTR_onmousemove, L_StrictValue}, 288: {"onmouseout", "", 'A', HTML_ATTR_onmouseout, L_StrictValue}, 289: {"onmouseover", "", 'A', HTML_ATTR_onmouseover, L_StrictValue}, 290: {"onmouseup", "", 'A', HTML_ATTR_onmouseup, L_StrictValue}, 291: {"onreset", "form", 'A', HTML_ATTR_onreset, L_StrictValue}, 292: {"onselect", "", 'A', HTML_ATTR_onselect, L_StrictValue}, 293: {"onsubmit", "form", 'A', HTML_ATTR_onsubmit, L_StrictValue}, 294: {"onunload", "", 'A', HTML_ATTR_onunload, L_StrictValue}, 295: 1.50 quint 296: {"pluginspage", "embed", 'A', HTML_ATTR_pluginspage, L_TransitionalValue}, 297: {"pluginurl", "embed", 'A', HTML_ATTR_pluginurl, L_TransitionalValue}, 1.16 cvs 298: {"profile", "head", 'A', HTML_ATTR_profile, L_BasicValue}, 299: {"prompt", "", 'A', HTML_ATTR_Prompt, L_StrictValue}, 1.67 ! carcone 300: {"property", "", 'A', HTML_ATTR_property, L_RDFaValue}, 1.16 cvs 301: 302: {"rbspan", "rt", 'A', HTML_ATTR_rbspan, L_RubyValue}, 303: {"readonly", "", 'A', HTML_ATTR_readonly, L_BasicValue}, 304: {"rel", "", 'A', HTML_ATTR_REL, L_BasicValue}, 1.67 ! carcone 305: {"resource", "", 'A', HTML_ATTR_resource, L_RDFaValue}, 1.16 cvs 306: {"rev", "", 'A', HTML_ATTR_REV, L_BasicValue}, 307: {"rows", "frameset", 'A', HTML_ATTR_RowHeight, L_TransitionalValue}, 308: {"rows", "textarea", 'A', HTML_ATTR_Rows, L_BasicValue}, 309: {"rowspan", "", 'A', HTML_ATTR_rowspan_, L_BasicValue}, 310: {"rules", "table", 'A', HTML_ATTR_rules_, L_StrictValue}, 311: 312: {"scheme", "meta", 'A', HTML_ATTR_scheme, L_BasicValue}, 313: {"scope", "", 'A', HTML_ATTR_scope, L_BasicValue}, 314: {"scrolling", "", 'A', HTML_ATTR_scrolling, L_TransitionalValue}, 1.39 cvs 315: {"selected", "option", 'A', HTML_ATTR_Selected, L_BasicValue}, 1.16 cvs 316: {"shape", "", 'A', HTML_ATTR_shape, L_StrictValue}, 317: {"size", "basefont", 'A', HTML_ATTR_BaseFontSize, L_TransitionalValue}, 318: {"size", "font", 'A', HTML_ATTR_Font_size, L_TransitionalValue}, 319: {"size", "hr", 'A', HTML_ATTR_Size_, L_TransitionalValue}, 320: {"size", "input", 'A', HTML_ATTR_Area_Size, L_BasicValue}, 321: {"size", "select", 'A', HTML_ATTR_MenuSize, L_BasicValue}, 322: {"span", "col", 'A', HTML_ATTR_span_, L_StrictValue}, 323: {"span", "colgroup", 'A', HTML_ATTR_span_, L_StrictValue}, 1.21 cvs 324: {"src", "embed", 'A', HTML_ATTR_SRC, L_TransitionalValue}, 1.16 cvs 325: {"src", "frame", 'A', HTML_ATTR_FrameSrc, L_TransitionalValue}, 326: {"src", "iframe", 'A', HTML_ATTR_FrameSrc, L_TransitionalValue}, 327: {"src", "script", 'A', HTML_ATTR_script_src, L_StrictValue}, 328: {"src", "", 'A', HTML_ATTR_SRC, L_BasicValue}, 329: {"standby", "", 'A', HTML_ATTR_standby, L_BasicValue}, 330: {"start", "", 'A', HTML_ATTR_Start, L_BasicValue}, 331: {"style", "", 'A', HTML_ATTR_Style_, L_BasicValue}, 332: {"summary", "table", 'A', HTML_ATTR_summary, L_BasicValue}, 333: 334: {"tabindex", "", 'A', HTML_ATTR_tabindex, L_BasicValue}, 1.52 vatton 335: {"target", "", 'A', HTML_ATTR_target_, L_TransitionalValue}, 1.47 vatton 336: {"text", "", 'A', HTML_ATTR_TextColor, L_TransitionalValue}, 1.16 cvs 337: {"title", "", 'A', HTML_ATTR_Title, L_BasicValue}, 338: {"type", "button", 'A', HTML_ATTR_Button_type, L_StrictValue}, 1.36 cvs 339: {"type", "embed", 'A', HTML_ATTR_Embed_type, L_TransitionalValue}, 1.16 cvs 340: {"type", "li", 'A', HTML_ATTR_ItemStyle, L_BasicValue}, 341: {"type", "link", 'A', HTML_ATTR_Link_type, L_BasicValue}, 342: {"type", "a", 'A', HTML_ATTR_Link_type, L_BasicValue}, 343: {"type", "object", 'A', HTML_ATTR_Object_type, L_BasicValue}, 344: {"type", "ol", 'A', HTML_ATTR_NumberStyle, L_BasicValue}, 345: {"type", "param", 'A', HTML_ATTR_Param_type, L_BasicValue}, 346: {"type", "script", 'A', HTML_ATTR_content_type, L_StrictValue}, 347: {"type", "style", 'A', HTML_ATTR_Notation, L_StrictValue}, 348: {"type", "ul", 'A', HTML_ATTR_BulletStyle, L_BasicValue}, 1.34 quint 349: {"type", "", SPACE, DummyAttribute, L_BasicValue}, 1.16 cvs 350: 351: {"usemap", "", 'A', HTML_ATTR_USEMAP, L_BasicValue}, 352: 1.56 vatton 353: {"valign", "col", 'A', HTML_ATTR_Cell_valign, L_StrictValue}, 354: {"valign", "colgroup", 'A', HTML_ATTR_Cell_valign, L_StrictValue}, 1.16 cvs 355: {"valign", "tbody", 'A', HTML_ATTR_Row_valign, L_StrictValue}, 356: {"valign", "td", 'A', HTML_ATTR_Cell_valign, L_StrictValue}, 357: {"valign", "tfoot", 'A', HTML_ATTR_Row_valign, L_StrictValue}, 358: {"valign", "th", 'A', HTML_ATTR_Cell_valign, L_StrictValue}, 359: {"valign", "thead", 'A', HTML_ATTR_Row_valign, L_StrictValue}, 360: {"valign", "tr", 'A', HTML_ATTR_Row_valign, L_StrictValue}, 361: {"value", "li", 'A', HTML_ATTR_ItemValue, L_BasicValue}, 362: {"value", "param", 'A', HTML_ATTR_Param_value, L_BasicValue}, 363: {"value", "", 'A', HTML_ATTR_Value_, L_BasicValue}, 364: {"valuetype", "param", 'A', HTML_ATTR_valuetype, L_BasicValue}, 365: {"version", "", 'A', 0, L_BasicValue}, 366: {"vlink", "body", 'A', HTML_ATTR_VisitedLinkColor, L_TransitionalValue}, 367: {"vspace", "", 'A', HTML_ATTR_vspace, L_TransitionalValue}, 368: 369: {"width", "applet", 'A', HTML_ATTR_Width__, L_TransitionalValue}, 370: {"width", "col", 'A', HTML_ATTR_Width__, L_StrictValue}, 371: {"width", "colgroup", 'A', HTML_ATTR_Width__, L_StrictValue}, 1.20 cvs 372: {"width", "embed", 'A', HTML_ATTR_Width__, L_TransitionalValue}, 1.16 cvs 373: {"width", "hr", 'A', HTML_ATTR_Width__, L_TransitionalValue}, 374: {"width", "iframe", 'A', HTML_ATTR_Width__, L_TransitionalValue}, 1.49 vatton 375: /*{"width", "image", 'A', HTML_ATTR_Width__, L_BasicValue},*/ 1.16 cvs 376: {"width", "img", 'A', HTML_ATTR_Width__, L_BasicValue}, 377: {"width", "object", 'A', HTML_ATTR_Width__, L_BasicValue}, 378: {"width", "pre", 'A', HTML_ATTR_Width__, L_TransitionalValue}, 379: {"width", "table", 'A', HTML_ATTR_Width__, L_StrictValue}, 380: {"width", "td", 'A', HTML_ATTR_Width__, L_TransitionalValue}, 381: {"width", "th", 'A', HTML_ATTR_Width__, L_TransitionalValue}, 1.1 cvs 382: 1.58 vatton 383: {"xml:id", "", 'A', HTML_ATTR_xmlid, L_BasicValue}, 1.59 quint 384: {"xml:lang", "", 'A', HTML_ATTR_Language, L_BasicValue}, 1.16 cvs 385: {"xml:space", "", 'A', HTML_ATTR_xml_space, L_BasicValue}, 386: {"zzghost", "", 'A', HTML_ATTR_Ghost_restruct, L_BasicValue}, 387: {"", "", EOS, 0, L_OtherValue} /* Last entry. Mandatory */ 1.1 cvs 388: }; 389: 1.31 vatton 390: /* Mapping table of HTML attribute values */ 391: AttrValueMapping XhtmlAttrValueMappingTable[] = 392: { 393: {HTML_ATTR_dir, "ltr", HTML_ATTR_dir_VAL_ltr_}, 394: {HTML_ATTR_dir, "rtl", HTML_ATTR_dir_VAL_rtl_}, 395: 396: {HTML_ATTR_TextAlign, "left", HTML_ATTR_TextAlign_VAL_left_}, 397: {HTML_ATTR_TextAlign, "center", HTML_ATTR_TextAlign_VAL_center_}, 398: {HTML_ATTR_TextAlign, "right", HTML_ATTR_TextAlign_VAL_right_}, 399: {HTML_ATTR_TextAlign, "justify", HTML_ATTR_TextAlign_VAL_justify_}, 400: 401: {HTML_ATTR_Align, "left", HTML_ATTR_Align_VAL_left_}, 402: {HTML_ATTR_Align, "center", HTML_ATTR_Align_VAL_center_}, 403: {HTML_ATTR_Align, "right", HTML_ATTR_Align_VAL_right_}, 404: 405: {HTML_ATTR_LAlign, "top", HTML_ATTR_LAlign_VAL_Top_}, 406: {HTML_ATTR_LAlign, "bottom", HTML_ATTR_LAlign_VAL_Bottom_}, 407: {HTML_ATTR_LAlign, "left", HTML_ATTR_LAlign_VAL_Left_}, 408: {HTML_ATTR_LAlign, "right", HTML_ATTR_LAlign_VAL_Right_}, 409: 1.43 quint 410: {HTML_ATTR_Clear_, "left", HTML_ATTR_Clear__VAL_Left_}, 411: {HTML_ATTR_Clear_, "right", HTML_ATTR_Clear__VAL_Right_}, 412: {HTML_ATTR_Clear_, "all", HTML_ATTR_Clear__VAL_All_}, 413: {HTML_ATTR_Clear_, "none", HTML_ATTR_Clear__VAL_None_}, 1.31 vatton 414: 415: {HTML_ATTR_NumberStyle, "1", HTML_ATTR_NumberStyle_VAL_Arabic_}, 416: {HTML_ATTR_NumberStyle, "a", HTML_ATTR_NumberStyle_VAL_LowerAlpha}, 417: {HTML_ATTR_NumberStyle, "A", HTML_ATTR_NumberStyle_VAL_UpperAlpha}, 1.54 quint 418: {HTML_ATTR_NumberStyle, "i", HTML_ATTR_NumberStyle_VAL_LowerRoman_}, 419: {HTML_ATTR_NumberStyle, "I", HTML_ATTR_NumberStyle_VAL_UpperRoman_}, 1.31 vatton 420: 1.54 quint 421: {HTML_ATTR_BulletStyle, "disc", HTML_ATTR_BulletStyle_VAL_disc_}, 422: {HTML_ATTR_BulletStyle, "square", HTML_ATTR_BulletStyle_VAL_square_}, 423: {HTML_ATTR_BulletStyle, "circle", HTML_ATTR_BulletStyle_VAL_circle_}, 1.31 vatton 424: 425: {HTML_ATTR_ItemStyle, "1", HTML_ATTR_ItemStyle_VAL_Arabic_}, 426: {HTML_ATTR_ItemStyle, "a", HTML_ATTR_ItemStyle_VAL_LowerAlpha}, 427: {HTML_ATTR_ItemStyle, "A", HTML_ATTR_ItemStyle_VAL_UpperAlpha}, 1.54 quint 428: {HTML_ATTR_ItemStyle, "i", HTML_ATTR_ItemStyle_VAL_LowerRoman_}, 429: {HTML_ATTR_ItemStyle, "I", HTML_ATTR_ItemStyle_VAL_UpperRoman_}, 430: {HTML_ATTR_ItemStyle, "disc", HTML_ATTR_ItemStyle_VAL_disc_}, 431: {HTML_ATTR_ItemStyle, "square", HTML_ATTR_ItemStyle_VAL_square_}, 432: {HTML_ATTR_ItemStyle, "circle", HTML_ATTR_ItemStyle_VAL_circle_}, 1.31 vatton 433: 434: {HTML_ATTR_Button_type, "button", HTML_ATTR_Button_type_VAL_button}, 435: {HTML_ATTR_Button_type, "submit", HTML_ATTR_Button_type_VAL_submit}, 436: {HTML_ATTR_Button_type, "reset", HTML_ATTR_Button_type_VAL_reset}, 437: 438: {HTML_ATTR_frame, "void", HTML_ATTR_frame_VAL_void}, 439: {HTML_ATTR_frame, "above", HTML_ATTR_frame_VAL_above}, 440: {HTML_ATTR_frame, "below", HTML_ATTR_frame_VAL_below}, 441: {HTML_ATTR_frame, "hsides", HTML_ATTR_frame_VAL_hsides}, 442: {HTML_ATTR_frame, "lhs", HTML_ATTR_frame_VAL_lhs}, 443: {HTML_ATTR_frame, "rhs", HTML_ATTR_frame_VAL_rhs}, 444: {HTML_ATTR_frame, "vsides", HTML_ATTR_frame_VAL_vsides}, 445: {HTML_ATTR_frame, "box", HTML_ATTR_frame_VAL_box}, 446: {HTML_ATTR_frame, "border", HTML_ATTR_frame_VAL_border}, 447: 448: {HTML_ATTR_frameborder, "0", HTML_ATTR_frameborder_VAL_Border0}, 449: {HTML_ATTR_frameborder, "1", HTML_ATTR_frameborder_VAL_Border1}, 450: 451: {HTML_ATTR_scrolling, "yes", HTML_ATTR_scrolling_VAL_Yes_}, 452: {HTML_ATTR_scrolling, "no", HTML_ATTR_scrolling_VAL_No_}, 453: {HTML_ATTR_scrolling, "auto", HTML_ATTR_scrolling_VAL_auto_}, 454: 455: {HTML_ATTR_rules_, "none", HTML_ATTR_rules__VAL_none_}, 456: {HTML_ATTR_rules_, "groups", HTML_ATTR_rules__VAL_groups}, 457: {HTML_ATTR_rules_, "rows", HTML_ATTR_rules__VAL_rows}, 458: {HTML_ATTR_rules_, "cols", HTML_ATTR_rules__VAL_cols}, 459: {HTML_ATTR_rules_, "all", HTML_ATTR_rules__VAL_all}, 460: 461: {HTML_ATTR_Cell_align, "left", HTML_ATTR_Cell_align_VAL_Cell_left}, 462: {HTML_ATTR_Cell_align, "center", HTML_ATTR_Cell_align_VAL_Cell_center}, 463: {HTML_ATTR_Cell_align, "right", HTML_ATTR_Cell_align_VAL_Cell_right}, 464: {HTML_ATTR_Cell_align, "justify", HTML_ATTR_Cell_align_VAL_Cell_justify}, 465: {HTML_ATTR_Cell_align, "char", HTML_ATTR_Cell_align_VAL_Cell_char}, 466: 467: {HTML_ATTR_Alignment, "top", HTML_ATTR_Alignment_VAL_Top_}, 468: {HTML_ATTR_Alignment, "middle", HTML_ATTR_Alignment_VAL_Middle_}, 469: {HTML_ATTR_Alignment, "bottom", HTML_ATTR_Alignment_VAL_Bottom_}, 470: {HTML_ATTR_Alignment, "left", HTML_ATTR_Alignment_VAL_Left_}, 471: {HTML_ATTR_Alignment, "right", HTML_ATTR_Alignment_VAL_Right_}, 472: 473: {HTML_ATTR_METHOD, "get", HTML_ATTR_METHOD_VAL_Get_}, 474: {HTML_ATTR_METHOD, "post", HTML_ATTR_METHOD_VAL_Post_}, 475: 476: {HTML_ATTR_Position, "top", HTML_ATTR_Position_VAL_Position_top}, 477: {HTML_ATTR_Position, "bottom", HTML_ATTR_Position_VAL_Position_bottom}, 478: {HTML_ATTR_Position, "left", HTML_ATTR_Position_VAL_Position_left}, 479: {HTML_ATTR_Position, "right", HTML_ATTR_Position_VAL_Position_right}, 480: 481: {HTML_ATTR_Row_valign, "top", HTML_ATTR_Row_valign_VAL_Row_top}, 482: {HTML_ATTR_Row_valign, "middle", HTML_ATTR_Row_valign_VAL_Row_middle}, 483: {HTML_ATTR_Row_valign, "bottom", HTML_ATTR_Row_valign_VAL_Row_bottom}, 484: {HTML_ATTR_Row_valign, "baseline", HTML_ATTR_Row_valign_VAL_Row_baseline}, 485: 486: {HTML_ATTR_Cell_valign, "top", HTML_ATTR_Cell_valign_VAL_Cell_top}, 487: {HTML_ATTR_Cell_valign, "middle", HTML_ATTR_Cell_valign_VAL_Cell_middle}, 488: {HTML_ATTR_Cell_valign, "bottom", HTML_ATTR_Cell_valign_VAL_Cell_bottom}, 489: {HTML_ATTR_Cell_valign, "baseline", HTML_ATTR_Cell_valign_VAL_Cell_baseline}, 490: 491: {HTML_ATTR_shape, "rect", HTML_ATTR_shape_VAL_rectangle}, 492: {HTML_ATTR_shape, "circle", HTML_ATTR_shape_VAL_circle}, 493: {HTML_ATTR_shape, "poly", HTML_ATTR_shape_VAL_polygon}, 1.55 vatton 494: {HTML_ATTR_shape, "default", HTML_ATTR_shape_VAL_default_}, 1.31 vatton 495: 496: {HTML_ATTR_valuetype, "data", HTML_ATTR_valuetype_VAL_data_}, 497: {HTML_ATTR_valuetype, "ref", HTML_ATTR_valuetype_VAL_ref}, 498: {HTML_ATTR_valuetype, "object", HTML_ATTR_valuetype_VAL_object_}, 499: 500: {HTML_ATTR_EmbedHidden, "yes", HTML_ATTR_EmbedHidden_VAL_Yes_}, 501: {HTML_ATTR_EmbedHidden, "no", HTML_ATTR_EmbedHidden_VAL_No_}, 502: 503: /* HTML attribute TYPE generates a Thot element */ 504: {DummyAttribute, "button", HTML_EL_Button_Input}, 505: {DummyAttribute, "checkbox", HTML_EL_Checkbox_Input}, 506: {DummyAttribute, "file", HTML_EL_File_Input}, 507: {DummyAttribute, "hidden", HTML_EL_Hidden_Input}, 1.62 vatton 508: {DummyAttribute, "image", HTML_EL_Image_Input}, 1.31 vatton 509: {DummyAttribute, "password", HTML_EL_Password_Input}, 510: {DummyAttribute, "radio", HTML_EL_Radio_Input}, 511: {DummyAttribute, "reset", HTML_EL_Reset_Input}, 512: {DummyAttribute, "submit", HTML_EL_Submit_Input}, 513: {DummyAttribute, "text", HTML_EL_Text_Input}, 514: 515: /* The following declarations allow the parser to accept boolean attributes */ 516: /* written "checked=CHECKED"), for instance */ 1.61 vatton 517: {HTML_ATTR_ISAMAP, "ismap", HTML_ATTR_ISAMAP_VAL_Yes_}, 1.31 vatton 518: {HTML_ATTR_nohref, "nohref", HTML_ATTR_nohref_VAL_Yes_}, 519: {HTML_ATTR_COMPACT, "compact", HTML_ATTR_COMPACT_VAL_Yes_}, 520: {HTML_ATTR_Multiple, "multiple", HTML_ATTR_Multiple_VAL_Yes_}, 521: {HTML_ATTR_Selected, "selected", HTML_ATTR_Selected_VAL_Yes_}, 522: {HTML_ATTR_Checked, "checked", HTML_ATTR_Checked_VAL_Yes_}, 523: {HTML_ATTR_No_wrap, "nowrap", HTML_ATTR_No_wrap_VAL_no_wrap}, 524: {HTML_ATTR_NoShade, "noshade", HTML_ATTR_NoShade_VAL_NoShade_}, 525: {HTML_ATTR_declare, "declare", HTML_ATTR_declare_VAL_declare_}, 526: {HTML_ATTR_defer, "defer", HTML_ATTR_defer_VAL_Yes_}, 527: {HTML_ATTR_disabled, "disabled", HTML_ATTR_disabled_VAL_Yes_}, 528: {HTML_ATTR_readonly, "readonly", HTML_ATTR_readonly_VAL_Yes_}, 529: {HTML_ATTR_no_resize, "noresize", HTML_ATTR_no_resize_VAL_Yes_}, 530: 531: /* XML attribute xml:space */ 532: {HTML_ATTR_xml_space, "default", HTML_ATTR_xml_space_VAL_xml_space_default}, 533: {HTML_ATTR_xml_space, "preserve", HTML_ATTR_xml_space_VAL_xml_space_preserve}, 534: 535: {0, "", 0} /* Last entry. Mandatory */ 536: }; 537: 1.9 cvs 538: /* Mapping table of Xhtml entities */ 539: XmlEntity XhtmlEntityTable[] = 540: { 541: /* This table MUST be in alphabetical order */ 1.11 cvs 542: {"AElig", 198}, /* latin capital letter AE = */ 1.10 cvs 543: /* latin capital ligature AE, U+00C6 ISOlat1 */ 1.11 cvs 544: {"Aacute", 193}, /* latin capital letter A with acute, U+00C1 ISOlat1 */ 545: {"Acirc", 194}, /* latin capital letter A with circumflex, U+00C2 ISOlat1 */ 546: {"Agrave", 192}, /* latin capital letter A with grave = */ 1.10 cvs 547: /* latin capital letter A grave, U+00C0 ISOlat1 */ 1.11 cvs 548: {"Alpha", 913}, /* greek capital letter alpha, U+0391 */ 549: {"Aring", 197}, /* latin capital letter A with ring above = */ 1.10 cvs 550: /* latin capital letter A ring, U+00C5 ISOlat1 */ 1.11 cvs 551: {"Atilde", 195}, /* latin capital letter A with tilde, U+00C3 ISOlat1 */ 552: {"Auml", 196}, /* latin capital letter A with diaeresis, U+00C4 ISOlat1 */ 553: {"Beta", 914}, /* greek capital letter beta, U+0392 */ 554: {"Ccedil", 199}, /* latin capital letter C with cedilla, U+00C7 ISOlat1 */ 555: {"Chi", 935}, /* greek capital letter chi, U+03A7 */ 556: {"Dagger", 8225}, /* double dagger, U+2021 ISOpub */ 557: {"Delta", 916}, /* greek capital letter delta, U+0394 ISOgrk3 */ 558: {"ETH", 208}, /* latin capital letter ETH, U+00D0 ISOlat1 */ 559: {"Eacute", 201}, /* latin capital letter E with acute, U+00C9 ISOlat1 */ 560: {"Ecirc", 202}, /* latin capital letter E with circumflex, U+00CA ISOlat1 */ 561: {"Egrave", 200}, /* latin capital letter E with grave, U+00C8 ISOlat1 */ 562: {"Epsilon", 917}, /* greek capital letter epsilon, U+0395 */ 563: {"Eta", 919}, /* greek capital letter eta, U+0397 */ 564: {"Euml", 203}, /* latin capital letter E with diaeresis, U+00CB ISOlat1 */ 565: {"Gamma", 915}, /* greek capital letter gamma, U+0393 ISOgrk3 */ 566: {"Iacute", 205}, /* latin capital letter I with acute, U+00CD ISOlat1 */ 567: {"Icirc", 206}, /* latin capital letter I with circumflex, U+00CE ISOlat1 */ 568: {"Igrave", 204}, /* latin capital letter I with grave, U+00CC ISOlat1 */ 569: {"Iota", 921}, /* greek capital letter iota, U+0399 */ 570: {"Iuml", 207}, /* latin capital letter I with diaeresis, U+00CF ISOlat1 */ 571: {"Kappa", 922}, /* greek capital letter kappa, U+039A */ 572: {"Lambda", 923}, /* greek capital letter lambda, U+039B ISOgrk3 */ 573: {"Mu", 924}, /* greek capital letter mu, U+039C */ 574: {"Ntilde", 209}, /* latin capital letter N with tilde, U+00D1 ISOlat1 */ 575: {"Nu", 925}, /* greek capital letter nu, U+039D */ 576: {"OElig", 338}, /* latin capital ligature OE, U+0152 ISOlat2 */ 577: {"Oacute", 211}, /* latin capital letter O with acute, U+00D3 ISOlat1 */ 578: {"Ocirc", 212}, /* latin capital letter O with circumflex, U+00D4 ISOlat1 */ 579: {"Ograve", 210}, /* latin capital letter O with grave, U+00D2 ISOlat1 */ 580: {"Omega", 937}, /* greek capital letter omega, U+03A9 ISOgrk3 */ 581: {"Omicron", 927}, /* greek capital letter omicron, U+039F */ 582: {"Oslash", 216}, /* latin capital letter O with stroke = */ 1.10 cvs 583: /* latin capital letter O slash, U+00D8 ISOlat1 */ 1.11 cvs 584: {"Otilde", 213}, /* latin capital letter O with tilde, U+00D5 ISOlat1 */ 585: {"Ouml", 214}, /* latin capital letter O with diaeresis, U+00D6 ISOlat1 */ 586: {"Phi", 934}, /* greek capital letter phi, U+03A6 ISOgrk3 */ 587: {"Pi", 928}, /* greek capital letter pi, U+03A0 ISOgrk3 */ 588: {"Prime", 8243}, /* double prime = seconds = inches, U+2033 ISOtech */ 589: {"Psi", 936}, /* greek capital letter psi, U+03A8 ISOgrk3 */ 590: {"Rho", 929}, /* greek capital letter rho, U+03A1 */ 591: {"Scaron", 352}, /* latin capital letter S with caron, U+0160 ISOlat2 */ 592: {"Sigma", 931}, /* greek capital letter sigma, U+03A3 ISOgrk3 */ 593: {"THORN", 222}, /* latin capital letter THORN, U+00DE ISOlat1 */ 594: {"Tau", 932}, /* greek capital letter tau, U+03A4 */ 595: {"Theta", 920}, /* greek capital letter theta, U+0398 ISOgrk3 */ 596: {"Uacute", 218}, /* latin capital letter U with acute, U+00DA ISOlat1 */ 597: {"Ucirc", 219}, /* latin capital letter U with circumflex, U+00DB ISOlat1 */ 598: {"Ugrave", 217}, /* latin capital letter U with grave, U+00D9 ISOlat1 */ 599: {"Upsilon", 933}, /* greek capital letter upsilon, U+03A5 ISOgrk3 */ 600: {"Uuml", 220}, /* latin capital letter U with diaeresis, U+00DC ISOlat1 */ 601: {"Xi", 926}, /* greek capital letter xi, U+039E ISOgrk3 */ 602: {"Yacute", 221}, /* latin capital letter Y with acute, U+00DD ISOlat1 */ 603: {"Yuml", 376}, /* latin capital letter Y with diaeresis, U+0178 ISOlat2 */ 604: {"Zeta", 918}, /* greek capital letter zeta, U+0396 */ 605: {"aacute", 225}, /* latin small letter a with acute, U+00E1 ISOlat1 */ 606: {"acirc", 226}, /* latin small letter a with circumflex, U+00E2 ISOlat1 */ 607: {"acute", 180}, /* acute accent = spacing acute, U+00B4 ISOdia */ 608: {"aelig", 230}, /* latin small letter ae = */ 1.10 cvs 609: /* latin small ligature ae, U+00E6 ISOlat1 */ 1.11 cvs 610: {"agrave", 224}, /* latin small letter a with grave = */ 1.10 cvs 611: /* latin small letter a grave, U+00E0 ISOlat1 */ 1.11 cvs 612: {"alefsym", 8501},/* alef symbol = first transfinite cardinal, U+2135 NEW */ 613: {"alpha", 945}, /* greek small letter alpha, U+03B1 ISOgrk3 */ 614: {"amp", 38}, /* ampersand, U+0026 ISOnum */ 615: {"and", 8743}, /* logical and = wedge, U+2227 ISOtech */ 616: {"ang", 8736}, /* angle, U+2220 ISOamso */ 617: {"aring", 229}, /* latin small letter a with ring above = */ 1.10 cvs 618: /* latin small letter a ring, U+00E5 ISOlat1 */ 1.11 cvs 619: {"asymp", 8776}, /* almost equal to = asymptotic to, U+2248 ISOamsr */ 620: {"atilde", 227}, /* latin small letter a with tilde, U+00E3 ISOlat1 */ 621: {"auml", 228}, /* latin small letter a with diaeresis, U+00E4 ISOlat1 */ 622: {"bdquo", 8222}, /* double low-9 quotation mark, U+201E NEW */ 623: {"beta", 946}, /* greek small letter beta, U+03B2 ISOgrk3 */ 624: {"brvbar", 166}, /* broken bar = broken vertical bar, U+00A6 ISOnum */ 625: {"bull", 8226}, /* bullet = black small circle, U+2022 ISOpub */ 626: {"cap", 8745}, /* intersection = cap, U+2229 ISOtech */ 627: {"ccedil", 231}, /* latin small letter c with cedilla, U+00E7 ISOlat1 */ 628: {"cedil", 184}, /* cedilla = spacing cedilla, U+00B8 ISOdia */ 629: {"cent", 162}, /* cent sign, U+00A2 ISOnum */ 630: {"chi", 967}, /* greek small letter chi, U+03C7 ISOgrk3 */ 631: {"circ", 710}, /* modifier letter circumflex accent, U+02C6 ISOpub */ 632: {"clubs", 9827}, /* black club suit = shamrock, U+2663 ISOpub */ 633: {"cong", 8773}, /* approximately equal to, U+2245 ISOtech */ 634: {"copy", 169}, /* copyright sign, U+00A9 ISOnum */ 635: {"crarr", 8629}, /* downwards arrow with corner leftwards = */ 1.10 cvs 636: /* carriage return, U+21B5 NEW */ 1.11 cvs 637: {"cup", 8746}, /* union cup, U+222A ISOtech */ 638: {"curren", 164}, /* currency sign, U+00A4 ISOnum */ 639: {"dArr", 8659}, /* downwards double arrow, U+21D3 ISOamsa */ 640: {"dagger", 8224}, /* dagger, U+2020 ISOpub */ 641: {"darr", 8595}, /* downwards arrow, U+2193 ISOnum */ 642: {"deg", 176}, /* degree sign, U+00B0 ISOnum */ 643: {"delta", 948}, /* greek small letter delta, U+03B4 ISOgrk3 */ 644: {"diams", 9830}, /* black diamond suit, U+2666 ISOpub */ 645: {"divide", 247}, /* division sign, U+00F7 ISOnum */ 646: {"eacute", 233}, /* latin small letter e with acute, U+00E9 ISOlat1 */ 647: {"ecirc", 234}, /* latin small letter e with circumflex, U+00EA ISOlat1 */ 648: {"egrave", 232}, /* latin small letter e with grave, U+00E8 ISOlat1 */ 649: {"empty", 8709}, /* empty set = null set = diameter, U+2205 ISOamso */ 650: {"emsp", 8195}, /* em space, U+2003 ISOpub */ 651: {"ensp", 8194}, /* en space, U+2002 ISOpub */ 652: {"epsilon", 949}, /* greek small letter epsilon, U+03B5 ISOgrk3 */ 653: {"equiv", 8801}, /* identical to, U+2261 ISOtech */ 654: {"eta", 951}, /* greek small letter eta, U+03B7 ISOgrk3 */ 655: {"eth", 240}, /* latin small letter eth, U+00F0 ISOlat1 */ 656: {"euml", 235}, /* latin small letter e with diaeresis, U+00EB ISOlat1 */ 657: {"euro", 8364}, /* euro sign, U+20AC NEW */ 658: {"exist", 8707}, /* there exists, U+2203 ISOtech */ 659: {"fnof", 402}, /* latin small f with hook = function = */ 1.10 cvs 660: /* florin, U+0192 ISOtech */ 1.11 cvs 661: {"forall", 8704}, /* for all, U+2200 ISOtech */ 662: {"frac12", 189}, /* vulgar fraction one half = */ 1.10 cvs 663: /*fraction one half, U+00BD ISOnum */ 1.11 cvs 664: {"frac14", 188}, /* vulgar fraction one quarter = */ 1.10 cvs 665: /* fraction one quarter, U+00BC ISOnum */ 1.11 cvs 666: {"frac34", 190}, /* vulgar fraction three quarters = */ 1.10 cvs 667: /* fraction three quarters, U+00BE ISOnum */ 1.11 cvs 668: {"frasl", 8260}, /* fraction slash, U+2044 NEW */ 669: {"gamma", 947}, /* greek small letter gamma, U+03B3 ISOgrk3 */ 670: {"ge", 8805}, /* greater-than or equal to, U+2265 ISOtech */ 671: {"gt", 62}, /* greater-than sign, U+003E ISOnum */ 672: {"hArr", 8660}, /* left right double arrow, U+21D4 ISOamsa */ 673: {"harr", 8596}, /* left right arrow, U+2194 ISOamsa */ 674: {"hearts", 9829}, /* black heart suit = valentine, U+2665 ISOpub */ 675: {"hellip", 8230}, /* horizontal ellipsis = three dot leader, U+2026 ISOpub */ 676: {"iacute", 237}, /* latin small letter i with acute, U+00ED ISOlat1 */ 677: {"icirc", 238}, /* latin small letter i with circumflex, U+00EE ISOlat1 */ 678: {"iexcl", 161}, /* inverted exclamation mark, U+00A1 ISOnum */ 679: {"igrave", 236}, /* latin small letter i with grave, U+00EC ISOlat1 */ 680: {"image", 8465}, /* blackletter capital I = imaginary part, U+2111 ISOamso */ 681: {"infin", 8734}, /* infinity, U+221E ISOtech */ 682: {"int", 8747}, /* integral, U+222B ISOtech */ 683: {"iota", 953}, /* greek small letter iota, U+03B9 ISOgrk3 */ 684: {"iquest", 191}, /* inverted question mark = */ 1.10 cvs 685: /* turned question mark, U+00BF ISOnum */ 1.11 cvs 686: {"isin", 8712}, /* element of, U+2208 ISOtech */ 687: {"iuml", 239}, /* latin small letter i with diaeresis, U+00EF ISOlat1 */ 688: {"kappa", 954}, /* greek small letter kappa, U+03BA ISOgrk3 */ 689: {"lArr", 8656}, /* leftwards double arrow, U+21D0 ISOtech */ 690: {"lambda", 955}, /* greek small letter lambda, U+03BB ISOgrk3 */ 1.57 quint 691: {"lang", 0x27E8}, /* mathematical left angle bracket, U+27E8 */ 1.11 cvs 692: {"laquo", 171}, /* left-pointing double angle quotation mark = */ 1.10 cvs 693: /* left pointing guillemet, U+00AB ISOnum */ 1.11 cvs 694: {"larr", 8592}, /* leftwards arrow, U+2190 ISOnum */ 695: {"lceil", 8968}, /* left ceiling = apl upstile, U+2308 ISOamsc */ 696: {"ldquo", 8220}, /* left double quotation mark, U+201C ISOnum */ 697: {"le", 8804}, /* less-than or equal to, U+2264 ISOtech */ 698: {"lfloor", 8970}, /* left floor = apl downstile, U+230A ISOamsc */ 699: {"lowast", 8727}, /* asterisk operator, U+2217 ISOtech */ 700: {"loz", 9674}, /* lozenge, U+25CA ISOpub */ 701: {"lrm", 8206}, /* left-to-right mark, U+200E NEW RFC 2070 */ 702: {"lsaquo", 8249}, /* single left-pointing angle quotation mark, */ 1.10 cvs 703: /* U+2039 ISO proposed */ 1.11 cvs 704: {"lsquo", 8216}, /* left single quotation mark, U+2018 ISOnum */ 705: {"lt", 60}, /* less-than sign, U+003C ISOnum */ 706: {"macr", 175}, /* macron = spacing macron = overline = APL overbar, */ 1.10 cvs 707: /* U+00AF ISOdia */ 1.11 cvs 708: {"mdash", 8212}, /* em dash, U+2014 ISOpub */ 709: {"micro", 181}, /* micro sign, U+00B5 ISOnum */ 710: {"middot", 183}, /* middle dot = Georgian comma = */ 1.10 cvs 711: /* Greek middle dot, U+00B7 ISOnum */ 1.11 cvs 712: {"minus", 8722}, /* minus sign, U+2212 ISOtech */ 713: {"mu", 956}, /* greek small letter mu, U+03BC ISOgrk3 */ 714: {"nabla", 8711}, /* nabla = backward difference, U+2207 ISOtech */ 715: {"nbsp", 160}, /* no-break space = non-breaking space, U+00A0 ISOnum */ 716: {"ndash", 8211}, /* en dash, U+2013 ISOpub */ 717: {"ne", 8800}, /* not equal to, U+2260 ISOtech */ 718: {"ni", 8715}, /* contains as member, U+220B ISOtech */ 719: {"not", 172}, /* not sign, U+00AC ISOnum */ 720: {"notin", 8713}, /* not an element of, U+2209 ISOtech */ 721: {"nsub", 8836}, /* not a subset of, U+2284 ISOamsn */ 722: {"ntilde", 241}, /* latin small letter n with tilde, U+00F1 ISOlat1 */ 723: {"nu", 957}, /* greek small letter nu, U+03BD ISOgrk3 */ 724: {"oacute", 243}, /* latin small letter o with acute, U+00F3 ISOlat1 */ 725: {"ocirc", 244}, /* latin small letter o with circumflex, U+00F4 ISOlat1 */ 726: {"oelig", 339}, /* latin small ligature oe, U+0153 ISOlat2 */ 727: {"ograve", 242}, /* latin small letter o with grave, U+00F2 ISOlat1 */ 728: {"oline", 8254}, /* overline = spacing overscore, U+203E NEW */ 729: {"omega", 969}, /* greek small letter omega, U+03C9 ISOgrk3 */ 730: {"omicron", 959}, /* greek small letter omicron, U+03BF NEW */ 731: {"oplus", 8853}, /* circled plus = direct sum, U+2295 ISOamsb */ 732: {"or", 8744}, /* logical or = vee, U+2228 ISOtech */ 733: {"ordf", 170}, /* feminine ordinal indicator, U+00AA ISOnum */ 734: {"ordm", 186}, /* masculine ordinal indicator, U+00BA ISOnum */ 735: {"oslash", 248}, /* latin small letter o with stroke, = */ 1.10 cvs 736: /* latin small letter o slash, U+00F8 ISOlat1 */ 1.11 cvs 737: {"otilde", 245}, /* latin small letter o with tilde, U+00F5 ISOlat1 */ 738: {"otimes", 8855}, /* circled times = vector product, U+2297 ISOamsb */ 739: {"ouml", 246}, /* latin small letter o with diaeresis, U+00F6 ISOlat1 */ 740: {"para", 182}, /* pilcrow sign = paragraph sign, U+00B6 ISOnum */ 741: {"part", 8706}, /* partial differential, U+2202 ISOtech */ 742: {"permil", 8240}, /* per mille sign, U+2030 ISOtech */ 743: {"perp", 8869}, /* up tack = orthogonal to = perpendicular, U+22A5 ISOtech */ 744: {"phi", 966}, /* greek small letter phi, U+03C6 ISOgrk3 */ 1.32 quint 745: {"phiv", 981}, /* greek U+03D5 ISOgrk3 */ 1.11 cvs 746: {"pi", 960}, /* greek small letter pi, U+03C0 ISOgrk3 */ 747: {"piv", 982}, /* greek pi symbol, U+03D6 ISOgrk3 */ 748: {"plusmn", 177}, /* plus-minus sign = plus-or-minus sign, U+00B1 ISOnum */ 749: {"pound", 163}, /* pound sign, U+00A3 ISOnum */ 750: {"prime", 8242}, /* prime = minutes = feet, U+2032 ISOtech */ 751: {"prod", 8719}, /* n-ary product = product sign, U+220F ISOamsb */ 752: {"prop", 8733}, /* proportional to, U+221D ISOtech */ 753: {"psi", 968}, /* greek small letter psi, U+03C8 ISOgrk3 */ 754: {"quot", 34}, /* quotation mark = APL quote, U+0022 ISOnum */ 755: {"rArr", 8658}, /* rightwards double arrow, U+21D2 ISOtech */ 756: {"radic", 8730}, /* square root = radical sign, U+221A ISOtech */ 1.57 quint 757: {"rang", 0x27E9}, /* mathematical right angle bracket, U+27E9 */ 1.11 cvs 758: {"raquo", 187}, /* right-pointing double angle quotation mark = */ 1.10 cvs 759: /* right pointing guillemet, U+00BB ISOnum */ 1.11 cvs 760: {"rarr", 8594}, /* rightwards arrow, U+2192 ISOnum */ 761: {"rceil", 8969}, /* right ceiling, U+2309 ISOamsc */ 762: {"rdquo", 8221}, /* right double quotation mark, U+201D ISOnum */ 763: {"real", 8476}, /* blackletter capital R = real part symbol, U+211C ISOamso */ 764: {"reg", 174}, /* registered sign = registered trade mark sign, */ 1.10 cvs 765: /* U+00AE ISOnum */ 1.11 cvs 766: {"rfloor", 8971}, /* right floor, U+230B ISOamsc */ 767: {"rho", 961}, /* greek small letter rho, U+03C1 ISOgrk3 */ 768: {"rlm", 8207}, /* right-to-left mark, U+200F NEW RFC 2070 */ 769: {"rsaquo", 8250}, /* single right-pointing angle quotation mark, */ 1.10 cvs 770: /* U+203A ISO proposed */ 1.11 cvs 771: {"rsquo", 8217}, /* right single quotation mark, U+2019 ISOnum */ 772: {"sbquo", 8218}, /* single low-9 quotation mark, U+201A NEW */ 773: {"scaron", 353}, /* latin small letter s with caron, U+0161 ISOlat2 */ 774: {"sdot", 8901}, /* dot operator, U+22C5 ISOamsb */ 775: {"sect", 167}, /* section sign, U+00A7 ISOnum */ 776: {"shy", 173}, /* soft hyphen = discretionary hyphen, U+00AD ISOnum */ 777: {"sigma", 963}, /* greek small letter sigma, U+03C3 ISOgrk3 */ 778: {"sigmaf", 962}, /* greek small letter final sigma, U+03C2 ISOgrk3 */ 779: {"sim", 8764}, /* tilde operator = varies with = similar to, U+223C ISOtech */ 780: {"spades", 9824}, /* black spade suit, U+2660 ISOpub */ 781: {"sub", 8834}, /* subset of, U+2282 ISOtech */ 782: {"sube", 8838}, /* subset of or equal to, U+2286 ISOtech */ 783: {"sum", 8721}, /* n-ary sumation, U+2211 ISOamsb */ 784: {"sup", 8835}, /* superset of, U+2283 ISOtech */ 785: {"sup1", 185}, /* superscript one = superscript digit one, U+00B9 ISOnum */ 786: {"sup2", 178}, /* superscript two = superscript digit two = squared, */ 1.10 cvs 787: /* U+00B2 ISOnum */ 1.11 cvs 788: {"sup3", 179}, /* superscript three = superscript digit three = cubed, */ 1.10 cvs 789: /* U+00B3 ISOnum */ 1.11 cvs 790: {"supe", 8839}, /* superset of or equal to, U+2287 ISOtech */ 791: {"szlig", 223}, /* latin small letter sharp s = ess-zed, U+00DF ISOlat1 */ 792: {"tau", 964}, /* greek small letter tau, U+03C4 ISOgrk3 */ 793: {"there4", 8756}, /* therefore, U+2234 ISOtech */ 794: {"theta", 952}, /* greek small letter theta, U+03B8 ISOgrk3 */ 795: {"thetasym", 977},/* greek small letter theta symbol, U+03D1 NEW */ 796: {"thinsp", 8201}, /* thin space, U+2009 ISOpub */ 797: {"thorn", 254}, /* latin small letter thorn with, U+00FE ISOlat1 */ 798: {"tilde", 732}, /* small tilde, U+02DC ISOdia */ 799: {"times", 215}, /* multiplication sign, U+00D7 ISOnum */ 800: {"trade", 8482}, /* trade mark sign, U+2122 ISOnum */ 801: {"uArr", 8657}, /* upwards double arrow, U+21D1 ISOamsa */ 802: {"uacute", 250}, /* latin small letter u with acute, U+00FA ISOlat1 */ 803: {"uarr", 8593}, /* upwards arrow, U+2191 ISOnum*/ 804: {"ucirc", 251}, /* latin small letter u with circumflex, U+00FB ISOlat1 */ 805: {"ugrave", 249}, /* latin small letter u with grave, U+00F9 ISOlat1 */ 806: {"uml", 168}, /* diaeresis = spacing diaeresis, U+00A8 ISOdia */ 807: {"upsih", 978}, /* greek upsilon with hook symbol, U+03D2 NEW */ 808: {"upsilon", 965}, /* greek small letter upsilon, U+03C5 ISOgrk3 */ 809: {"uuml", 252}, /* latin small letter u with diaeresis, U+00FC ISOlat1 */ 810: {"weierp", 8472}, /* script capital P = power set = Weierstrass p, */ 1.10 cvs 811: /* U+2118 ISOamso */ 1.11 cvs 812: {"xi", 958}, /* greek small letter xi, U+03BE ISOgrk3 */ 813: {"yacute", 253}, /* latin small letter y with acute, U+00FD ISOlat1 */ 814: {"yen", 165}, /* yen sign = yuan sign, U+00A5 ISOnum */ 815: {"yuml", 255}, /* latin small letter y with diaeresis, U+00FF ISOlat1 */ 816: {"zeta", 950}, /* greek small letter zeta, U+03B6 ISOgrk3 */ 817: {"zwj", 8205}, /* zero width joiner, U+200D NEW RFC 2070 */ 818: {"zwnj", 8204}, /* zero width non-joiner, U+200C NEW RFC 2070 */ 819: {"zzzz", 0} /* this last entry is required */ 1.9 cvs 820: };