View Javadoc

    1   /*
    2    * Licensed to the Apache Software Foundation (ASF) under one
    3    * or more contributor license agreements.  See the NOTICE file
    4    * distributed with this work for additional information
    5    * regarding copyright ownership.  The ASF licenses this file
    6    * to you under the Apache License, Version 2.0 (the
    7    * "License"); you may not use this file except in compliance
    8    * with the License.  You may obtain a copy of the License at
    9    *
    10   *   http://www.apache.org/licenses/LICENSE-2.0
    11   *
    12   * Unless required by applicable law or agreed to in writing,
    13   * software distributed under the License is distributed on an
    14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    15   * KIND, either express or implied.  See the License for the
    16   * specific language governing permissions and limitations
    17   * under the License.
    18   */
    19  package org.apache.myfaces.shared_orchestra.renderkit.html;
    20
    21  import org.apache.myfaces.shared_orchestra.util.ArrayUtils;
    22
    23
    24  /**
    25   * Constant declarations for HTML rendering.
    26   * @author Manfred Geiler
    27   * @author Anton Koinov
    28   * @version $Revision: 700617 $ $Date: 2008-09-30 17:40:24 -0500 (Tue, 30 Sep 2008) $
    29   */
    30  public interface HTML
    31  {
    32
    33      // Common attributes
    34      String ALIGN_ATTR = "align";
    35      String DATAFLD_ATTR = "datafld";
    36      String DATASRC_ATTR = "datasrc";
    37      String DATAFORMATAS_ATTR = "dataformatas";
    38      String BORDER_ATTR = "border";
    39      String WIDTH_ATTR = "width";
    40      String READONLY_ATTR = "readonly";
    41      String FILE_ATTR = "file";
    42      String ACCEPT_ATTR = "accept";
    43
    44      // Common event handler attributes
    45      String ONCLICK_ATTR     = "onclick";
    46      String ONDBLCLICK_ATTR  = "ondblclick";
    47      String ONMOUSEDOWN_ATTR = "onmousedown";
    48      String ONMOUSEUP_ATTR   = "onmouseup";
    49      String ONMOUSEOVER_ATTR = "onmouseover";
    50      String ONMOUSEMOVE_ATTR = "onmousemove";
    51      String ONMOUSEOUT_ATTR  = "onmouseout";
    52      String ONKEYPRESS_ATTR  = "onkeypress";
    53      String ONKEYDOWN_ATTR   = "onkeydown";
    54      String ONKEYUP_ATTR     = "onkeyup";
    55      String[] EVENT_HANDLER_ATTRIBUTES_WITHOUT_ONCLICK =
    56      {
    57          ONDBLCLICK_ATTR,
    58          ONMOUSEDOWN_ATTR,
    59          ONMOUSEUP_ATTR,
    60          ONMOUSEOVER_ATTR,
    61          ONMOUSEMOVE_ATTR,
    62          ONMOUSEOUT_ATTR,
    63          ONKEYPRESS_ATTR,
    64          ONKEYDOWN_ATTR,
    65          ONKEYUP_ATTR
    66      };
    67      String[] EVENT_HANDLER_ATTRIBUTES_WITHOUT_ONMOUSEOVER_AND_ONMOUSEOUT =
    68      {
    69          ONDBLCLICK_ATTR,
    70          ONMOUSEDOWN_ATTR,
    71          ONMOUSEUP_ATTR,
    72          ONMOUSEMOVE_ATTR,
    73          ONKEYPRESS_ATTR,
    74          ONKEYDOWN_ATTR,
    75          ONKEYUP_ATTR,
    76          ONCLICK_ATTR
    77      };
    78      String[] EVENT_HANDLER_ATTRIBUTES =
    79              (String[]) org.apache.myfaces.shared_orchestra.util.ArrayUtils.concat(
    80                  EVENT_HANDLER_ATTRIBUTES_WITHOUT_ONCLICK,
    81                  new String[] {ONCLICK_ATTR});
    82
    83      // Input field event handler attributes
    84      String ONFOCUS_ATTR = "onfocus";
    85      String ONBLUR_ATTR = "onblur";
    86      String ONSELECT_ATTR = "onselect";
    87      String ONCHANGE_ATTR = "onchange";
    88      String[] COMMON_FIELD_EVENT_ATTRIBUTES =
    89      {
    90          ONFOCUS_ATTR,
    91          ONBLUR_ATTR,
    92          ONSELECT_ATTR,
    93          ONCHANGE_ATTR
    94      };
    95
    96      String[] COMMON_FIELD_EVENT_ATTRIBUTES_WITHOUT_ONFOCUS =
    97      {
    98          ONBLUR_ATTR,
    99          ONSELECT_ATTR,
    100         ONCHANGE_ATTR
    101     };
    102
    103     String[] COMMON_FIELD_EVENT_ATTRIBUTES_WITHOUT_ONSELECT_AND_ONCHANGE =
    104     {
    105         ONFOCUS_ATTR,
    106         ONBLUR_ATTR
    107     };
    108
    109     // universal attributes
    110     String DIR_ATTR   = "dir";
    111     String LANG_ATTR  = "lang";
    112     String STYLE_ATTR = "style";
    113     String TITLE_ATTR = "title";
    114     String STYLE_CLASS_ATTR = "styleClass"; //"class" cannot be used as property name
    115
    116     String[] UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE =
    117     {
    118         DIR_ATTR,
    119         LANG_ATTR,
    120         TITLE_ATTR,
    121
    122         //NOTE: if changed, please verify universal attributes in HtmlMessageRenderer !
    123     };
    124     String[] UNIVERSAL_ATTRIBUTES =
    125             (String[]) org.apache.myfaces.shared_orchestra.util.ArrayUtils.concat(
    126                 UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE,
    127                 new String[] {STYLE_ATTR, STYLE_CLASS_ATTR});
    128
    129     //universal, but not the same property-name -
    130     //styleClass attribute is rendered as such
    131     String CLASS_ATTR = "class";
    132
    133     // common form field attributes
    134     String ACCESSKEY_ATTR   = "accesskey";
    135     String TABINDEX_ATTR    = "tabindex";
    136     String DISABLED_ATTR = "disabled";
    137     String[] COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED =
    138     {
    139         ACCESSKEY_ATTR,
    140         TABINDEX_ATTR
    141     };
    142     String[] COMMON_FIELD_ATTRIBUTES =
    143         (String[]) ArrayUtils.concat(
    144             COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED,
    145             new String[] {DISABLED_ATTR});
    146
    147     // Common Attributes
    148     String[] COMMON_PASSTROUGH_ATTRIBUTES =
    149         (String[]) org.apache.myfaces.shared_orchestra.util.ArrayUtils.concat(
    150             EVENT_HANDLER_ATTRIBUTES,
    151             UNIVERSAL_ATTRIBUTES);
    152     String[] COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_STYLE =
    153         (String[]) org.apache.myfaces.shared_orchestra.util.ArrayUtils.concat(
    154             EVENT_HANDLER_ATTRIBUTES,
    155             UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE);
    156     String[] COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_ONCLICK =
    157         (String[]) ArrayUtils.concat(
    158             EVENT_HANDLER_ATTRIBUTES_WITHOUT_ONCLICK,
    159             UNIVERSAL_ATTRIBUTES);
    160     String[] COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_ONCLICK_WITHOUT_STYLE =
    161         (String[]) ArrayUtils.concat(
    162             EVENT_HANDLER_ATTRIBUTES_WITHOUT_ONCLICK,
    163             UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE);
    164     String[] COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED =
    165         (String[]) ArrayUtils.concat(
    166             COMMON_PASSTROUGH_ATTRIBUTES,
    167             COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED,
    168             COMMON_FIELD_EVENT_ATTRIBUTES);
    169     String[] COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONFOCUS =
    170         (String[]) org.apache.myfaces.shared_orchestra.util.ArrayUtils.concat(
    171             COMMON_PASSTROUGH_ATTRIBUTES,
    172             COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED,
    173             COMMON_FIELD_EVENT_ATTRIBUTES_WITHOUT_ONFOCUS);
    174     String[] COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONFOCUS_AND_ONCLICK =
    175         (String[]) ArrayUtils.concat(
    176             COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_ONCLICK,
    177             COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED,
    178             COMMON_FIELD_EVENT_ATTRIBUTES_WITHOUT_ONFOCUS);
    179     String[] COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONCLICK =
    180         (String[]) org.apache.myfaces.shared_orchestra.util.ArrayUtils.concat(
    181             COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_ONCLICK,
    182             COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED,
    183             COMMON_FIELD_EVENT_ATTRIBUTES);
    184     String[] COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_ONMOUSEOVER_AND_ONMOUSEOUT =
    185         (String[]) org.apache.myfaces.shared_orchestra.util.ArrayUtils.concat(
    186             EVENT_HANDLER_ATTRIBUTES_WITHOUT_ONMOUSEOVER_AND_ONMOUSEOUT,
    187             UNIVERSAL_ATTRIBUTES);
    188
    189     // <a>
    190     String TARGET_ATTR = "target";  //used by <a> and <form>
    191     String CHARSET_ATTR     = "charset";
    192     String COORDS_ATTR      = "coords";
    193     String HREF_ATTR    = "href";
    194     String HREFLANG_ATTR    = "hreflang";
    195     String REL_ATTR         = "rel";
    196     String REV_ATTR         = "rev";
    197     String SHAPE_ATTR       = "shape";
    198     String TYPE_ATTR        = "type";
    199     String[] ANCHOR_ATTRIBUTES =
    200     {
    201         ACCESSKEY_ATTR,
    202         CHARSET_ATTR,
    203         COORDS_ATTR,
    204         HREFLANG_ATTR,
    205         REL_ATTR,
    206         REV_ATTR,
    207         SHAPE_ATTR,
    208         TABINDEX_ATTR,
    209         TARGET_ATTR,
    210         TYPE_ATTR
    211     };
    212     String[] ANCHOR_PASSTHROUGH_ATTRIBUTES =
    213         (String[]) ArrayUtils.concat(
    214             ANCHOR_ATTRIBUTES,
    215             COMMON_PASSTROUGH_ATTRIBUTES,
    216             COMMON_FIELD_EVENT_ATTRIBUTES_WITHOUT_ONSELECT_AND_ONCHANGE);
    217     String[] ANCHOR_PASSTHROUGH_ATTRIBUTES_WITHOUT_STYLE =
    218         (String[]) org.apache.myfaces.shared_orchestra.util.ArrayUtils.concat(
    219             ANCHOR_ATTRIBUTES,
    220             COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_STYLE,
    221             COMMON_FIELD_EVENT_ATTRIBUTES_WITHOUT_ONSELECT_AND_ONCHANGE);
    222     String[] ANCHOR_PASSTHROUGH_ATTRIBUTES_WITHOUT_ONCLICK_WITHOUT_STYLE =
    223         (String[]) org.apache.myfaces.shared_orchestra.util.ArrayUtils.concat(
    224             ANCHOR_ATTRIBUTES,
    225             COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_ONCLICK_WITHOUT_STYLE,
    226             COMMON_FIELD_EVENT_ATTRIBUTES_WITHOUT_ONSELECT_AND_ONCHANGE);
    227
    228     // <form>
    229     String ACCEPT_CHARSET_ATTR = "accept-charset";
    230     String ENCTYPE_ATTR = "enctype";
    231     String ONRESET_ATTR = "onreset";
    232     String ONSUMBIT_ATTR = "onsubmit";
    233     String[] FORM_ATTRIBUTES =
    234     {
    235         ACCEPT_ATTR,
    236         ACCEPT_CHARSET_ATTR,
    237         ENCTYPE_ATTR,
    238         ONRESET_ATTR,
    239         ONSUMBIT_ATTR,
    240         TARGET_ATTR,
    241     };
    242     String[] FORM_PASSTHROUGH_ATTRIBUTES =
    243         (String[]) ArrayUtils.concat(
    244             FORM_ATTRIBUTES,
    245             COMMON_PASSTROUGH_ATTRIBUTES);
    246
    247     // <img>
    248     String SRC_ATTR = "src";
    249     String ALT_ATTR = "alt";
    250     String HEIGHT_ATTR = "height";
    251     String HSPACE_ATTR = "hspace";
    252     String ISMAP_ATTR = "ismap";
    253     String LONGDESC_ATTR = "longdesc";
    254     String USEMAP_ATTR = "usemap";
    255     String VSPACE_ATTR = "vspace";
    256
    257     String[] IMG_ATTRIBUTES =
    258     {
    259         ALIGN_ATTR,
    260         ALT_ATTR,
    261         BORDER_ATTR,
    262         HEIGHT_ATTR,
    263         HSPACE_ATTR,
    264         ISMAP_ATTR,
    265         LONGDESC_ATTR,
    266         USEMAP_ATTR,
    267         VSPACE_ATTR,
    268         WIDTH_ATTR
    269     };
    270     String[] IMG_PASSTHROUGH_ATTRIBUTES =
    271         (String[]) ArrayUtils.concat(
    272            IMG_ATTRIBUTES,
    273            COMMON_PASSTROUGH_ATTRIBUTES);
    274     String[] IMG_PASSTHROUGH_ATTRIBUTES_WITHOUT_ONMOUSEOVER_AND_ONMOUSEOUT =
    275         (String[]) ArrayUtils.concat(
    276            IMG_ATTRIBUTES,
    277            COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_ONMOUSEOVER_AND_ONMOUSEOUT);
    278     // <input>
    279     String SIZE_ATTR = "size";
    280     String AUTOCOMPLETE_ATTR = "autocomplete";
    281     String CHECKED_ATTR = "checked";
    282     String MAXLENGTH_ATTR = "maxlength";
    283
    284     String[] INPUT_ATTRIBUTES = {
    285         ALIGN_ATTR,
    286         ALT_ATTR,
    287         CHECKED_ATTR,
    288         DATAFLD_ATTR,
    289         DATASRC_ATTR,
    290         DATAFORMATAS_ATTR,
    291         MAXLENGTH_ATTR,
    292         READONLY_ATTR,
    293         SIZE_ATTR,
    294         AUTOCOMPLETE_ATTR
    295     };
    296     String[] INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED =
    297         (String[]) ArrayUtils.concat(
    298                 INPUT_ATTRIBUTES,
    299                 COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED);
    300
    301     String[] INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONFOCUS_AND_ONCLICK =
    302         (String[]) org.apache.myfaces.shared_orchestra.util.ArrayUtils.concat(
    303                 INPUT_ATTRIBUTES,
    304                 COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONFOCUS_AND_ONCLICK);
    305
    306     //values for input-type attribute
    307     String INPUT_TYPE_SUBMIT = "submit";
    308     String INPUT_TYPE_IMAGE = "image";
    309     String INPUT_TYPE_HIDDEN = "hidden";
    310     String INPUT_TYPE_CHECKBOX = "checkbox";
    311     String INPUT_TYPE_PASSWORD = "password";
    312     String INPUT_TYPE_TEXT = "text";
    313     String INPUT_TYPE_RADIO = "radio";
    314     String INPUT_TYPE_BUTTON = "button";
    315
    316     // <button>
    317     String[] BUTTON_ATTRIBUTES =
    318     {
    319         ALIGN_ATTR,
    320         ALT_ATTR,
    321         DATAFLD_ATTR,
    322         DATASRC_ATTR,
    323         DATAFORMATAS_ATTR,
    324     };
    325     String[] BUTTON_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED =
    326         (String[]) org.apache.myfaces.shared_orchestra.util.ArrayUtils.concat(
    327             BUTTON_ATTRIBUTES,
    328             COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED);
    329     String[] BUTTON_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONCLICK =
    330         (String[]) org.apache.myfaces.shared_orchestra.util.ArrayUtils.concat(
    331             BUTTON_ATTRIBUTES,
    332             COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONCLICK);
    333
    334     // <iframe>
    335     String FRAMEBORDER_ATTR = "frameborder";
    336     String SCROLLING_ATTR = "scrolling";
    337
    338     // <label>
    339     String FOR_ATTR = "for";
    340     String[] LABEL_ATTRIBUTES =
    341     {
    342         ACCESSKEY_ATTR,
    343         ONBLUR_ATTR,
    344         ONFOCUS_ATTR
    345         //FOR_ATTR is no pass through !
    346     };
    347     String[] LABEL_PASSTHROUGH_ATTRIBUTES =
    348         (String[]) org.apache.myfaces.shared_orchestra.util.ArrayUtils.concat(
    349             LABEL_ATTRIBUTES,
    350             COMMON_PASSTROUGH_ATTRIBUTES);
    351
    352     // <select>
    353     String MULTIPLE_ATTR = "multiple";
    354
    355     String[] SELECT_ATTRIBUTES =
    356     {
    357         DATAFLD_ATTR,
    358         DATASRC_ATTR,
    359         DATAFORMATAS_ATTR,
    360     };
    361     String[] SELECT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED =
    362         (String[]) ArrayUtils.concat(
    363             SELECT_ATTRIBUTES,
    364             COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED);
    365
    366     // <table>
    367     String BGCOLOR_ATTR = "bgcolor";
    368     String CELLPADDING_ATTR = "cellpadding";
    369     String CELLSPACING_ATTR = "cellspacing";
    370     String FRAME_ATTR = "frame";
    371     String RULES_ATTR = "rules";
    372     String SUMMARY_ATTR = "summary";
    373     String[] TABLE_ATTRIBUTES = {
    374         ALIGN_ATTR,
    375         BGCOLOR_ATTR,
    376         BORDER_ATTR,
    377         CELLPADDING_ATTR,
    378         CELLSPACING_ATTR,
    379         DATAFLD_ATTR,
    380         DATASRC_ATTR,
    381         DATAFORMATAS_ATTR,
    382         FRAME_ATTR,
    383         RULES_ATTR,
    384         SUMMARY_ATTR,
    385         WIDTH_ATTR
    386     };
    387     String[] TABLE_PASSTHROUGH_ATTRIBUTES =
    388         (String[]) ArrayUtils.concat(
    389             TABLE_ATTRIBUTES,
    390             COMMON_PASSTROUGH_ATTRIBUTES);
    391
    392     // <textarea>
    393     String COLS_ATTR = "cols";
    394     String ROWS_ATTR = "rows";
    395     String WRAP_ATTR = "wrap";
    396     String[] TEXTAREA_ATTRIBUTES =
    397     {
    398         COLS_ATTR,
    399         DATAFLD_ATTR,
    400         DATASRC_ATTR,
    401         DATAFORMATAS_ATTR,
    402         READONLY_ATTR,
    403         ROWS_ATTR,
    404         WRAP_ATTR
    405     };
    406     String[] TEXTAREA_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED =
    407         (String[]) ArrayUtils.concat(
    408             TEXTAREA_ATTRIBUTES,
    409             COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED);
    410
    411     // <input type=file>
    412     String[] INPUT_FILE_UPLOAD_ATTRIBUTES =
    413     {
    414         ACCEPT_ATTR
    415     };
    416     String[] INPUT_FILE_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED =
    417         (String[]) ArrayUtils.concat(
    418             INPUT_FILE_UPLOAD_ATTRIBUTES,
    419             INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED);
    420
    421
    422     /*
    423     String[] MESSAGE_PASSTHROUGH_ATTRIBUTES =
    424         (String[]) ArrayUtils.concat(
    425             new String[] {DIR_ATTR, LANG_ATTR, TITLE_ATTR, STYLE_ATTR, STYLE_CLASS_ATTR},
    426             EVENT_HANDLER_ATTRIBUTES);
    427             */
    428
    429     String[] MESSAGE_PASSTHROUGH_ATTRIBUTES_WITHOUT_TITLE_STYLE_AND_STYLE_CLASS =
    430         (String[]) org.apache.myfaces.shared_orchestra.util.ArrayUtils.concat(
    431             new String[] {DIR_ATTR, LANG_ATTR},
    432             EVENT_HANDLER_ATTRIBUTES);
    433
    434
    435     // selectOne/Many table
    436     String[] SELECT_TABLE_PASSTHROUGH_ATTRIBUTES =
    437         new String[] {STYLE_ATTR, STYLE_CLASS_ATTR, BORDER_ATTR};
    438
    439     String COMPACT_ATTR = "compact";
    440     String[] UL_ATTRIBUTES = {
    441         COMPACT_ATTR,
    442         TYPE_ATTR
    443     };
    444     String[] UL_PASSTHROUGH_ATTRIBUTES =
    445         (String[]) ArrayUtils.concat(
    446             UL_ATTRIBUTES,
    447             COMMON_PASSTROUGH_ATTRIBUTES);
    448
    449
    450     //HTML attributes needed for renderding only
    451     String ID_ATTR = "id";
    452     String NAME_ATTR = "name";
    453     String VALUE_ATTR = "value";
    454     String METHOD_ATTR = "method";
    455     String ACTION_ATTR = "action";
    456     String COLSPAN_ATTR = "colspan";
    457     String SCOPE_ATTR = "scope";
    458     String LABEL_ATTR = "label";
    459     String SELECTED_ATTR = "selected";
    460
    461     //HTML attributes values
    462     String SCOPE_COLGROUP_VALUE = "colgroup";
    463
    464     //HTML element constants
    465     String SPAN_ELEM = "span";
    466     String DIV_ELEM = "div";
    467     String INPUT_ELEM = "input";
    468     String BUTTON_ELEM = "button";
    469     String SELECT_ELEM = "select";
    470     String OPTION_ELEM = "option";
    471     String OPTGROUP_ELEM = "optgroup";
    472     String TEXTAREA_ELEM = "textarea";
    473     String FORM_ELEM = "form";
    474     String ANCHOR_ELEM = "a";
    475     String H1_ELEM = "h1";
    476     String H2_ELEM = "h2";
    477     String H3_ELEM = "h3";
    478     String H4_ELEM = "h4";
    479     String H5_ELEM = "h5";
    480     String H6_ELEM = "h6";
    481     String IFRAME_ELEM = "iframe";
    482     String IMG_ELEM = "img";
    483     String LABEL_ELEM = "label";
    484     String TABLE_ELEM = "table";
    485     String TR_ELEM = "tr";
    486     String TH_ELEM = "th";
    487     String TD_ELEM = "td";
    488     String TBODY_ELEM = "tbody";
    489     String TFOOT_ELEM = "tfoot";
    490     String THEAD_ELEM = "thead";
    491     String STYLE_ELEM = "style";
    492     String SCRIPT_ELEM = "script";
    493     String SCRIPT_TYPE_ATTR = "type";
    494     String SCRIPT_TYPE_TEXT_JAVASCRIPT = "text/javascript";
    495     String STYLE_TYPE_TEXT_CSS = "text/css";
    496     String SCRIPT_LANGUAGE_ATTR = "language";
    497     String SCRIPT_LANGUAGE_JAVASCRIPT = "JavaScript";
    498     String SCRIPT_ELEM_DEFER_ATTR = "defer";
    499     String LINK_ELEM = "link";
    500     String STYLESHEET_VALUE = "stylesheet";
    501     String UL_ELEM = "ul";
    502     String OL_ELEM = "ol";
    503     String LI_ELEM = "li";
    504
    505
    506     //HTML simple element constants
    507     String BR_ELEM = "br";
    508
    509
    510     //HTML entities
    511     String NBSP_ENTITY = "&#160;";
    512
    513     String HREF_PATH_SEPARATOR = "/";
    514     String HREF_PATH_FROM_PARAM_SEPARATOR = "?";
    515     //removed because wrong for XHTML and not used anyway: String HREF_PARAM_SEPARATOR = "&";
    516     String HREF_PARAM_NAME_FROM_VALUE_SEPARATOR = "=";
    517
    518 }