Annotation of Amaya/amaya/HTMLnames.h, revision 1.67

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: };

Webmaster