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.util.renderkit;
20  
21  import org.apache.myfaces.shared.util.ArrayUtils;
22  
23  
24  /**
25   * Constant declarations for HTML rendering.
26   */
27  public final class HTML
28  {
29  
30      // Common attributes
31      public static final String ALIGN_ATTR = "align";
32      public static final String BORDER_ATTR = "border";
33      public static final String WIDTH_ATTR = "width";
34      public static final String READONLY_ATTR = "readonly";
35      public static final String FILE_ATTR = "file";
36      public static final String ACCEPT_ATTR = "accept";
37  
38      // Common event handler attributes
39      public static final String ONCLICK_ATTR     = "onclick";
40      public static final String ONDBLCLICK_ATTR  = "ondblclick";
41      public static final String ONMOUSEDOWN_ATTR = "onmousedown";
42      public static final String ONMOUSEUP_ATTR   = "onmouseup";
43      public static final String ONMOUSEOVER_ATTR = "onmouseover";
44      public static final String ONMOUSEMOVE_ATTR = "onmousemove";
45      public static final String ONMOUSEOUT_ATTR  = "onmouseout";
46      public static final String ONKEYPRESS_ATTR  = "onkeypress";
47      public static final String ONKEYDOWN_ATTR   = "onkeydown";
48      public static final String ONKEYUP_ATTR     = "onkeyup";
49      public static final String ONFOCUS_ATTR = "onfocus";
50      public static final String ONBLUR_ATTR = "onblur";
51      public static final String[] EVENT_HANDLER_ATTRIBUTES_WITHOUT_ONCLICK =
52      {
53          ONDBLCLICK_ATTR,
54          ONMOUSEDOWN_ATTR,
55          ONMOUSEUP_ATTR,
56          ONMOUSEOVER_ATTR,
57          ONMOUSEMOVE_ATTR,
58          ONMOUSEOUT_ATTR,
59          ONKEYPRESS_ATTR,
60          ONKEYDOWN_ATTR,
61          ONKEYUP_ATTR
62      };
63      public static final String[] EVENT_HANDLER_ATTRIBUTES_WITHOUT_ONMOUSEOVER_AND_ONMOUSEOUT =
64      {
65          ONDBLCLICK_ATTR,
66          ONMOUSEDOWN_ATTR,
67          ONMOUSEUP_ATTR,
68          ONMOUSEMOVE_ATTR,
69          ONKEYPRESS_ATTR,
70          ONKEYDOWN_ATTR,
71          ONKEYUP_ATTR,
72          ONCLICK_ATTR
73      };
74      public static final String[] EVENT_HANDLER_ATTRIBUTES =
75              (String[]) ArrayUtils.concat(
76                  EVENT_HANDLER_ATTRIBUTES_WITHOUT_ONCLICK,
77                  new String[] {ONCLICK_ATTR});
78  
79      // Input field event handler attributes
80      public static final String ONSELECT_ATTR = "onselect";
81      public static final String ONCHANGE_ATTR = "onchange";
82      public static final String[] COMMON_FIELD_EVENT_ATTRIBUTES =
83      {
84          ONFOCUS_ATTR,
85          ONBLUR_ATTR,
86          ONSELECT_ATTR,
87          ONCHANGE_ATTR
88      };
89  
90      public static final String[] COMMON_FIELD_EVENT_ATTRIBUTES_WITHOUT_ONFOCUS =
91      {
92          ONBLUR_ATTR,
93          ONSELECT_ATTR,
94          ONCHANGE_ATTR
95      };
96      
97      public static final String[] COMMON_FIELD_EVENT_ATTRIBUTES_WITHOUT_ONSELECT_AND_ONCHANGE =
98      {
99          ONFOCUS_ATTR,
100         ONBLUR_ATTR
101     };
102 
103     // universal attributes
104     public static final String DIR_ATTR   = "dir";
105     public static final String LANG_ATTR  = "lang";
106     public static final String STYLE_ATTR = "style";
107     public static final String TITLE_ATTR = "title";
108     public static final String STYLE_CLASS_ATTR = "styleClass"; //"class" cannot be used as property name
109      
110     public static final String[] UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE =
111     {
112         DIR_ATTR,
113         LANG_ATTR,
114         TITLE_ATTR,
115 
116         //NOTE: if changed, please verify universal attributes in HtmlMessageRenderer !
117     };
118     public static final String[] UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE_AND_TITLE =
119     {
120         DIR_ATTR,
121         LANG_ATTR,
122     };
123     public static final String[] UNIVERSAL_ATTRIBUTES =
124             (String[]) ArrayUtils.concat(
125                 UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE,
126                 new String[] {STYLE_ATTR, STYLE_CLASS_ATTR});
127 
128     //universal, but not the same property-name -
129     //styleClass attribute is rendered as such
130     public static final String CLASS_ATTR = "class";
131 
132     // common form field attributes
133     public static final String ACCESSKEY_ATTR   = "accesskey";
134     public static final String TABINDEX_ATTR    = "tabindex";
135     public static final String DISABLED_ATTR = "disabled";
136     public static final String[] COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED =
137     {
138         ACCESSKEY_ATTR,
139         TABINDEX_ATTR
140     };
141     public static final String[] COMMON_FIELD_ATTRIBUTES =
142         (String[]) ArrayUtils.concat(
143             COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED,
144             new String[] {DISABLED_ATTR});
145 
146     // Common Attributes
147     public static final String[] COMMON_PASSTROUGH_ATTRIBUTES =
148         (String[]) ArrayUtils.concat(
149             EVENT_HANDLER_ATTRIBUTES,
150             UNIVERSAL_ATTRIBUTES);
151     public static final String[] COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_STYLE =
152         (String[]) ArrayUtils.concat(
153             EVENT_HANDLER_ATTRIBUTES,
154             UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE);
155     public static final String[] COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_ONCLICK =
156         (String[]) ArrayUtils.concat(
157             EVENT_HANDLER_ATTRIBUTES_WITHOUT_ONCLICK,
158             UNIVERSAL_ATTRIBUTES);
159     public static final String[] COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_ONCLICK_WITHOUT_STYLE =
160         (String[]) ArrayUtils.concat(
161             EVENT_HANDLER_ATTRIBUTES_WITHOUT_ONCLICK,
162             UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE);
163     public static final String[] COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED =
164         (String[]) ArrayUtils.concat(
165             COMMON_PASSTROUGH_ATTRIBUTES,
166             COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED,
167             COMMON_FIELD_EVENT_ATTRIBUTES);
168     public static final String[] COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_STYLE =
169         (String[]) ArrayUtils.concat(
170             COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_STYLE,
171             COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED,
172             COMMON_FIELD_EVENT_ATTRIBUTES);
173     public static final String[] COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONFOCUS =
174         (String[]) ArrayUtils.concat(
175             COMMON_PASSTROUGH_ATTRIBUTES,
176             COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED,
177             COMMON_FIELD_EVENT_ATTRIBUTES_WITHOUT_ONFOCUS);
178     public static final String[] COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONFOCUS_AND_ONCLICK =
179         (String[]) ArrayUtils.concat(
180             COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_ONCLICK,
181             COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED,
182             COMMON_FIELD_EVENT_ATTRIBUTES_WITHOUT_ONFOCUS);
183     public static final String[] COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONCLICK =
184         (String[]) ArrayUtils.concat(
185             COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_ONCLICK,
186             COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED,
187             COMMON_FIELD_EVENT_ATTRIBUTES);
188     public static final String[] COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_ONMOUSEOVER_AND_ONMOUSEOUT =
189         (String[]) ArrayUtils.concat(
190             EVENT_HANDLER_ATTRIBUTES_WITHOUT_ONMOUSEOVER_AND_ONMOUSEOUT,
191             UNIVERSAL_ATTRIBUTES);
192     public static final String[] COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_EVENTS =
193         (String[]) ArrayUtils.concat(
194             UNIVERSAL_ATTRIBUTES,
195             COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED);
196     public static final String[] COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_STYLE_AND_EVENTS =
197         (String[]) ArrayUtils.concat(
198             UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE,
199             COMMON_FIELD_ATTRIBUTES_WITHOUT_DISABLED);
200     
201     // <a>
202     public static final String TARGET_ATTR = "target";  //used by <a> and <form>
203     public static final String CHARSET_ATTR     = "charset";
204     public static final String COORDS_ATTR      = "coords";
205     public static final String HREF_ATTR    = "href";
206     public static final String HREFLANG_ATTR    = "hreflang";
207     public static final String REL_ATTR         = "rel";
208     public static final String REV_ATTR         = "rev";
209     public static final String SHAPE_ATTR       = "shape";
210     public static final String TYPE_ATTR        = "type";
211     public static final String[] ANCHOR_ATTRIBUTES =
212     {
213         ACCESSKEY_ATTR,
214         CHARSET_ATTR,
215         COORDS_ATTR,
216         HREFLANG_ATTR,
217         REL_ATTR,
218         REV_ATTR,
219         SHAPE_ATTR,
220         TABINDEX_ATTR,
221         TARGET_ATTR,
222         TYPE_ATTR
223     };
224     public static final String[] ANCHOR_PASSTHROUGH_ATTRIBUTES =
225         (String[]) ArrayUtils.concat(
226             ANCHOR_ATTRIBUTES,
227             COMMON_PASSTROUGH_ATTRIBUTES,
228             COMMON_FIELD_EVENT_ATTRIBUTES_WITHOUT_ONSELECT_AND_ONCHANGE);
229     public static final String[] ANCHOR_PASSTHROUGH_ATTRIBUTES_WITHOUT_STYLE =
230         (String[]) ArrayUtils.concat(
231             ANCHOR_ATTRIBUTES,
232             COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_STYLE,
233             COMMON_FIELD_EVENT_ATTRIBUTES_WITHOUT_ONSELECT_AND_ONCHANGE);
234     public static final String[] ANCHOR_PASSTHROUGH_ATTRIBUTES_WITHOUT_ONCLICK_WITHOUT_STYLE =
235         (String[]) ArrayUtils.concat(
236             ANCHOR_ATTRIBUTES,
237             COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_ONCLICK_WITHOUT_STYLE,
238             COMMON_FIELD_EVENT_ATTRIBUTES_WITHOUT_ONSELECT_AND_ONCHANGE);
239     public static final String[] ANCHOR_PASSTHROUGH_ATTRIBUTES_WITHOUT_EVENTS =
240         (String[]) ArrayUtils.concat(
241             ANCHOR_ATTRIBUTES,
242             UNIVERSAL_ATTRIBUTES);
243     public static final String[] ANCHOR_PASSTHROUGH_ATTRIBUTES_WITHOUT_STYLE_AND_EVENTS =
244         (String[]) ArrayUtils.concat(
245             ANCHOR_ATTRIBUTES,
246             UNIVERSAL_ATTRIBUTES_WITHOUT_STYLE);
247 
248     // <form>
249     public static final String ACCEPT_CHARSET_ATTR = "accept-charset";
250     public static final String ENCTYPE_ATTR = "enctype";
251     public static final String ONRESET_ATTR = "onreset";
252     public static final String ONSUMBIT_ATTR = "onsubmit";
253     public static final String[] FORM_ATTRIBUTES =
254     {
255         ACCEPT_ATTR,
256         ACCEPT_CHARSET_ATTR,
257         ENCTYPE_ATTR,
258         ONRESET_ATTR,
259         ONSUMBIT_ATTR,
260         TARGET_ATTR,
261     };
262     public static final String[] FORM_PASSTHROUGH_ATTRIBUTES =
263         (String[]) ArrayUtils.concat(
264             FORM_ATTRIBUTES,
265             COMMON_PASSTROUGH_ATTRIBUTES);
266     public static final String[] FORM_PASSTHROUGH_ATTRIBUTES_WITHOUT_EVENTS =
267         (String[]) ArrayUtils.concat(
268             FORM_ATTRIBUTES,
269             UNIVERSAL_ATTRIBUTES);
270     // <img>
271     public static final String SRC_ATTR = "src";
272     public static final String ALT_ATTR = "alt";
273     public static final String HEIGHT_ATTR = "height";
274     public static final String HSPACE_ATTR = "hspace";
275     public static final String ISMAP_ATTR = "ismap";
276     public static final String LONGDESC_ATTR = "longdesc";
277     public static final String USEMAP_ATTR = "usemap";
278     public static final String VSPACE_ATTR = "vspace";
279 
280     public static final String[] IMG_ATTRIBUTES =
281     {
282         ALIGN_ATTR,
283         ALT_ATTR,
284         BORDER_ATTR,
285         HEIGHT_ATTR,
286         HSPACE_ATTR,
287         ISMAP_ATTR,
288         LONGDESC_ATTR,
289         USEMAP_ATTR,
290         VSPACE_ATTR,
291         WIDTH_ATTR
292     };
293     public static final String[] IMG_PASSTHROUGH_ATTRIBUTES =
294         (String[]) ArrayUtils.concat(
295            IMG_ATTRIBUTES,
296            COMMON_PASSTROUGH_ATTRIBUTES);
297     public static final String[] IMG_PASSTHROUGH_ATTRIBUTES_WITHOUT_ONMOUSEOVER_AND_ONMOUSEOUT =
298         (String[]) ArrayUtils.concat(
299            IMG_ATTRIBUTES,
300            COMMON_PASSTROUGH_ATTRIBUTES_WITHOUT_ONMOUSEOVER_AND_ONMOUSEOUT);
301     public static final String[] IMG_PASSTHROUGH_ATTRIBUTES_WITHOUT_EVENTS =
302         (String[]) ArrayUtils.concat(
303            IMG_ATTRIBUTES,
304            UNIVERSAL_ATTRIBUTES);
305     // <input>
306     public static final String SIZE_ATTR = "size";
307     public static final String AUTOCOMPLETE_ATTR = "autocomplete";
308     public static final String CHECKED_ATTR = "checked";
309     public static final String MAXLENGTH_ATTR = "maxlength";
310 
311     public static final String[] INPUT_ATTRIBUTES = {
312         ALIGN_ATTR,
313         ALT_ATTR,
314         CHECKED_ATTR,
315         MAXLENGTH_ATTR,
316         READONLY_ATTR,
317         SIZE_ATTR
318     };
319     public static final String[] INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED =
320         (String[]) ArrayUtils.concat(
321                 INPUT_ATTRIBUTES,
322                 COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED);
323     public static final String[] INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_STYLE =
324         (String[]) ArrayUtils.concat(
325                 INPUT_ATTRIBUTES,
326                 COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_STYLE);
327 
328     public static final String[] INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONFOCUS_AND_ONCLICK =
329         (String[]) ArrayUtils.concat(
330                 INPUT_ATTRIBUTES,
331                 COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONFOCUS_AND_ONCLICK);
332 
333     public static final String[] INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_EVENTS =
334         (String[]) ArrayUtils.concat(
335                 INPUT_ATTRIBUTES,
336                 COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_EVENTS);
337     
338     public static final String[] INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_STYLE_AND_EVENTS =
339         (String[]) ArrayUtils.concat(
340                 INPUT_ATTRIBUTES,
341                 COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_STYLE_AND_EVENTS);
342 
343     //values for input-type attribute
344     public static final String INPUT_TYPE_SUBMIT = "submit";
345     public static final String INPUT_TYPE_IMAGE = "image";
346     public static final String INPUT_TYPE_HIDDEN = "hidden";
347     public static final String INPUT_TYPE_CHECKBOX = "checkbox";
348     public static final String INPUT_TYPE_PASSWORD = "password";
349     public static final String INPUT_TYPE_TEXT = "text";
350     public static final String INPUT_TYPE_RADIO = "radio";
351     public static final String INPUT_TYPE_BUTTON = "button";
352 
353     // <button>
354     public static final String[] BUTTON_ATTRIBUTES =
355     {
356         ALIGN_ATTR,
357         ALT_ATTR,
358     };
359     public static final String[] BUTTON_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED =
360         (String[]) ArrayUtils.concat(
361             BUTTON_ATTRIBUTES,
362             COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED);
363     public static final String[] BUTTON_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONCLICK =
364         (String[]) ArrayUtils.concat(
365             BUTTON_ATTRIBUTES,
366             COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_ONCLICK);
367     public static final String[] BUTTON_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_EVENTS =
368         (String[]) ArrayUtils.concat(
369             BUTTON_ATTRIBUTES,
370             COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_EVENTS);
371 
372     // <iframe>
373     public static final String FRAMEBORDER_ATTR = "frameborder";
374     public static final String SCROLLING_ATTR = "scrolling";
375 
376     // <label>
377     public static final String FOR_ATTR = "for";
378     public static final String[] LABEL_ATTRIBUTES =
379     {
380         ACCESSKEY_ATTR,
381         ONBLUR_ATTR,
382         ONFOCUS_ATTR
383         //FOR_ATTR is no pass through !
384     };
385     public static final String[] LABEL_ATTRIBUTES_WITHOUT_EVENTS =
386     {
387         ACCESSKEY_ATTR
388     };
389     public static final String[] LABEL_PASSTHROUGH_ATTRIBUTES =
390         (String[]) ArrayUtils.concat(
391             LABEL_ATTRIBUTES,
392             COMMON_PASSTROUGH_ATTRIBUTES);
393     public static final String[] LABEL_PASSTHROUGH_ATTRIBUTES_WITHOUT_EVENTS =
394         (String[]) ArrayUtils.concat(
395             LABEL_ATTRIBUTES_WITHOUT_EVENTS,
396             UNIVERSAL_ATTRIBUTES);
397 
398     // <select>
399     public static final String MULTIPLE_ATTR = "multiple";
400 
401     public static final String[] SELECT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED = 
402             COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED;
403     public static final String[] SELECT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_EVENTS = 
404         COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_EVENTS;
405 
406     // <table>
407     public static final String BGCOLOR_ATTR = "bgcolor";
408     public static final String CELLPADDING_ATTR = "cellpadding";
409     public static final String CELLSPACING_ATTR = "cellspacing";
410     public static final String FRAME_ATTR = "frame";
411     public static final String RULES_ATTR = "rules";
412     public static final String SUMMARY_ATTR = "summary";
413     public static final String[] TABLE_ATTRIBUTES = {
414         ALIGN_ATTR,
415         BGCOLOR_ATTR,
416         BORDER_ATTR,
417         CELLPADDING_ATTR,
418         CELLSPACING_ATTR,
419         FRAME_ATTR,
420         RULES_ATTR,
421         SUMMARY_ATTR,
422         WIDTH_ATTR
423     };
424     public static final String[] TABLE_PASSTHROUGH_ATTRIBUTES =
425         (String[]) ArrayUtils.concat(
426             TABLE_ATTRIBUTES,
427             COMMON_PASSTROUGH_ATTRIBUTES);
428     public static final String[] TABLE_PASSTHROUGH_ATTRIBUTES_WITHOUT_EVENTS =
429         (String[]) ArrayUtils.concat(
430             TABLE_ATTRIBUTES,
431             UNIVERSAL_ATTRIBUTES);
432 
433     // <textarea>
434     public static final String COLS_ATTR = "cols";
435     public static final String ROWS_ATTR = "rows";
436     public static final String WRAP_ATTR = "wrap";
437     public static final String[] TEXTAREA_ATTRIBUTES =
438     {
439         COLS_ATTR,
440         READONLY_ATTR,
441         ROWS_ATTR,
442         WRAP_ATTR
443     };
444     public static final String[] TEXTAREA_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED =
445         (String[]) ArrayUtils.concat(
446             TEXTAREA_ATTRIBUTES,
447             COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED);
448     public static final String[] TEXTAREA_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_EVENTS =
449         (String[]) ArrayUtils.concat(
450             TEXTAREA_ATTRIBUTES,
451             COMMON_FIELD_PASSTROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_EVENTS);
452 
453     // <input type=file>
454     public static final String[] INPUT_FILE_UPLOAD_ATTRIBUTES =
455     {
456         ACCEPT_ATTR
457     };
458     public static final String[] INPUT_FILE_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED =
459         (String[]) ArrayUtils.concat(
460             INPUT_FILE_UPLOAD_ATTRIBUTES,
461             INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED);
462     public static final String[] INPUT_FILE_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_EVENTS =
463         (String[]) ArrayUtils.concat(
464             INPUT_FILE_UPLOAD_ATTRIBUTES,
465             INPUT_PASSTHROUGH_ATTRIBUTES_WITHOUT_DISABLED_AND_EVENTS);
466 
467     /*
468     String[] MESSAGE_PASSTHROUGH_ATTRIBUTES =
469         (String[]) ArrayUtils.concat(
470             new String[] {DIR_ATTR, LANG_ATTR, TITLE_ATTR, STYLE_ATTR, STYLE_CLASS_ATTR},
471             EVENT_HANDLER_ATTRIBUTES);
472             */
473 
474     public static final String[] MESSAGE_PASSTHROUGH_ATTRIBUTES_WITHOUT_TITLE_STYLE_AND_STYLE_CLASS =
475         (String[]) ArrayUtils.concat(
476             new String[] {DIR_ATTR, LANG_ATTR},
477             EVENT_HANDLER_ATTRIBUTES);
478 
479 
480     // selectOne/Many table
481     public static final String[] SELECT_TABLE_PASSTHROUGH_ATTRIBUTES =
482         new String[] {STYLE_ATTR, STYLE_CLASS_ATTR, BORDER_ATTR};
483 
484     public static final String COMPACT_ATTR = "compact";
485     public static final String[] UL_ATTRIBUTES = {
486         COMPACT_ATTR,
487         TYPE_ATTR
488     };
489     public static final String[] UL_PASSTHROUGH_ATTRIBUTES =
490         (String[]) ArrayUtils.concat(
491             UL_ATTRIBUTES,
492             COMMON_PASSTROUGH_ATTRIBUTES);
493     public static final String[] UL_PASSTHROUGH_ATTRIBUTES_WITHOUT_EVENTS =
494         (String[]) ArrayUtils.concat(
495             UL_ATTRIBUTES,
496             UNIVERSAL_ATTRIBUTES);
497 
498     //body
499     public static final String BODY_ELEM = "body";
500     public static final String BODY_TARGET = BODY_ELEM;
501     
502     public static final String ONLOAD_ATTR = "onload";
503     public static final String ONUNLOAD_ATTR = "onunload";
504     public static final String ALINK_ATTR = "alink";
505     public static final String VLINK_ATTR = "vlink";
506     public static final String LINK_ATTR = "link";
507     public static final String TEXT_ATTR = "text";
508     public static final String BACKGROUND_ATTR = "background";
509 
510     public static final String[] BODY_ATTRIBUTES =
511     {
512         ONLOAD_ATTR,
513         ONUNLOAD_ATTR,
514         ALINK_ATTR,
515         VLINK_ATTR,
516         LINK_ATTR,
517         TEXT_ATTR,
518         BACKGROUND_ATTR,
519         BGCOLOR_ATTR
520     };
521     
522     public static final String[] BODY_ATTRIBUTES_WITHOUT_EVENTS =
523     {
524         ALINK_ATTR,
525         VLINK_ATTR,
526         LINK_ATTR,
527         TEXT_ATTR,
528         BACKGROUND_ATTR,
529         BGCOLOR_ATTR
530     };
531 
532     public static final String[] BODY_PASSTHROUGH_ATTRIBUTES =
533         (String[]) ArrayUtils.concat(
534                 COMMON_PASSTROUGH_ATTRIBUTES,
535                 BODY_ATTRIBUTES);
536     public static final String[] BODY_PASSTHROUGH_ATTRIBUTES_WITHOUT_EVENTS =
537         (String[]) ArrayUtils.concat(
538                 UNIVERSAL_ATTRIBUTES,
539                 BODY_ATTRIBUTES_WITHOUT_EVENTS);
540     //HTML attributes needed for renderding only
541     public static final String ID_ATTR = "id";
542     public static final String NAME_ATTR = "name";
543     public static final String VALUE_ATTR = "value";
544     public static final String METHOD_ATTR = "method";
545     public static final String ACTION_ATTR = "action";
546     public static final String COLSPAN_ATTR = "colspan";
547     public static final String SCOPE_ATTR = "scope";
548     public static final String LABEL_ATTR = "label";
549     public static final String SELECTED_ATTR = "selected";
550 
551     //HTML attributes values
552     public static final String SCOPE_COLGROUP_VALUE = "colgroup";
553     public static final String SCOPE_ROW_VALUE = "row";
554 
555     //HTML element constants
556     public static final String SPAN_ELEM = "span";
557     public static final String DIV_ELEM = "div";
558     public static final String INPUT_ELEM = "input";
559     public static final String BUTTON_ELEM = "button";
560     public static final String SELECT_ELEM = "select";
561     public static final String OPTION_ELEM = "option";
562     public static final String OPTGROUP_ELEM = "optgroup";
563     public static final String TEXTAREA_ELEM = "textarea";
564     public static final String FORM_ELEM = "form";
565     public static final String ANCHOR_ELEM = "a";
566     public static final String H1_ELEM = "h1";
567     public static final String H2_ELEM = "h2";
568     public static final String H3_ELEM = "h3";
569     public static final String H4_ELEM = "h4";
570     public static final String H5_ELEM = "h5";
571     public static final String H6_ELEM = "h6";
572     public static final String IFRAME_ELEM = "iframe";
573     public static final String IMG_ELEM = "img";
574     public static final String LABEL_ELEM = "label";
575     public static final String TABLE_ELEM = "table";
576     public static final String CAPTION_ELEM = "caption";
577     public static final String TR_ELEM = "tr";
578     public static final String TH_ELEM = "th";
579     public static final String TD_ELEM = "td";
580     public static final String TBODY_ELEM = "tbody";
581     public static final String TFOOT_ELEM = "tfoot";
582     public static final String THEAD_ELEM = "thead";
583     public static final String STYLE_ELEM = "style";
584     public static final String SCRIPT_ELEM = "script";
585     public static final String SCRIPT_TYPE_ATTR = "type";
586     public static final String SCRIPT_TYPE_TEXT_JAVASCRIPT = "text/javascript";
587     public static final String STYLE_TYPE_TEXT_CSS = "text/css";
588     public static final String SCRIPT_LANGUAGE_ATTR = "language";
589     public static final String SCRIPT_LANGUAGE_JAVASCRIPT = "JavaScript";
590     public static final String SCRIPT_ELEM_DEFER_ATTR = "defer";
591     public static final String LINK_ELEM = "link";
592     public static final String STYLESHEET_VALUE = "stylesheet";
593     public static final String UL_ELEM = "ul";
594     public static final String OL_ELEM = "ol";
595     public static final String LI_ELEM = "li";
596 
597 
598     //HTML simple element constants
599     public static final String BR_ELEM = "br";
600 
601 
602     //HTML entities
603     public static final String NBSP_ENTITY = "&#160;";
604 
605     public static final String HREF_PATH_SEPARATOR = "/";
606     public static final String HREF_PATH_FROM_PARAM_SEPARATOR = "?";
607     //removed because wrong for XHTML and not used anyway: String HREF_PARAM_SEPARATOR = "&";
608     public static final String HREF_PARAM_NAME_FROM_VALUE_SEPARATOR = "=";
609 
610 }