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 }