001 /*
002 Licensed to the Apache Software Foundation (ASF) under one
003 or more contributor license agreements. See the NOTICE file
004 distributed with this work for additional information
005 regarding copyright ownership. The ASF licenses this file
006 to you under the Apache License, Version 2.0 (the
007 "License"); you may not use this file except in compliance
008 with the License. You may obtain a copy of the License at
009
010 http://www.apache.org/licenses/LICENSE-2.0
011
012 Unless required by applicable law or agreed to in writing,
013 software distributed under the License is distributed on an
014 "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
015 KIND, either express or implied. See the License for the
016 specific language governing permissions and limitations
017 under the License.
018 */
019
020 package org.apache.wiki.util;
021
022 /**
023 * Provides constants for the Extensible HyperText Markup Language (XHTML) 1.0.
024 *
025 * @since 2.10
026 */
027 public enum XHTML
028 {
029 // XHTML element type names ...........................................
030
031 a, abbr, acronym, address, applet, area,
032 b, base, basefont, bdo, big, blockquote, body, br, button,
033 caption, center, cite, code, col, colgroup,
034 dd, del, dfn, dir, div, dl, dt,
035 em,
036 fieldset, font, form, frame, frameset,
037 h1, h2, h3, h4, h5, h6, head, hr, html,
038 i, iframe, img, input, ins, isindex,
039 kbd,
040 label,
041 legend, li, link,
042 map, menu, meta,
043 noframes, noscript,
044 object, ol, optgroup, option,
045 p, param, pre,
046 q,
047 s, samp, script, select, small, span, strike, strong, style, sub, sup,
048 table, tbody, td, textarea, tfoot, th, thead, title, tr, tt,
049 u, ul,
050 var;
051
052
053 /**
054 * Returns the element type name (AKA generic identifier).
055 * This is a convenience method that returns the same value
056 * as <tt>XHTML.<GI>>.name();</tt>.
057 */
058 public String getName()
059 {
060 return this.name();
061 }
062
063
064 // XML Public and Namespace identifiers for XHTML .........................
065
066 /** XML Namespace URI for the Extensible HyperText Markup Language (XHTML). */
067 public static final String XMLNS_xhtml = "http://www.w3.org/1999/xhtml";
068
069 /** A String containing the Formal Public Identifier (FPI) for the XHTML 1.0 Strict DTD. */
070 public static final String STRICT_DTD_PubId = "-//W3C//DTD XHTML 1.0 Strict//EN";
071 /** A String containing a system identifier for the XHTML 1.0 Strict DTD. */
072 public static String STRICT_DTD_SysId = "xhtml1-strict.dtd";
073
074 /** A String containing the Formal Public Identifier (FPI) for the XHTML 1.0 Transitional DTD. */
075 public static final String TRANSITIONAL_DTD_PubId = "-//W3C//DTD XHTML 1.0 Transitional//EN";
076 /** A String containing a system identifier for the XHTML 1.0 Transitional DTD. */
077 public static String TRANSITIONAL_DTD_SysId = "xhtml1-transitional.dtd";
078
079 /** A String containing the Formal Public Identifier (FPI) for the XHTML 1.0 Frameset DTD. */
080 public static final String FRAMESET_DTD_PubId = "-//W3C//DTD XHTML 1.0 Frameset//EN";
081 /** A String containing a system identifier for the XHTML 1.0 Frameset DTD. */
082 public static String FRAMESET_DTD_SysId = "xhtml1-frameset.dtd";
083
084 // CSS strings ........................................................
085
086 /** An identifier for the CSS stylesheet notation using its W3C home page URI. */
087 public static final String CSS_style = "http://www.w3.org/Style/CSS/";
088
089
090 // XHTML common attribute names .......................................
091
092 /** String containing the XHTML 'id' attribute name (i.e., 'id'). */
093 public static final String ATTR_id = "id";
094
095 /** String containing the XHTML 'class' attribute name (i.e., 'class'). */
096 public static final String ATTR_class = "class";
097
098 /** String containing the XHTML 'name' attribute name (i.e., 'name'). */
099 public static final String ATTR_name = "name";
100
101 /** String containing the XHTML 'type' attribute name (i.e., 'type'). */
102 public static final String ATTR_type = "type";
103
104 /** String containing the XHTML 'value' attribute name (i.e., 'value'). */
105 public static final String ATTR_value = "value";
106
107 /** String containing the XHTML 'href' attribute name (i.e., 'href'). */
108 public static final String ATTR_href = "href";
109
110 /** String containing the XHTML 'title' attribute name (i.e., 'title'). */
111 public static final String ATTR_title = "title";
112
113 /** String containing the XHTML 'width' attribute name (i.e., 'width'). */
114 public static final String ATTR_width = "width";
115
116 /** String containing the XHTML 'height' attribute name (i.e., 'height'). */
117 public static final String ATTR_height = "height";
118
119 /** String containing the XHTML 'border' attribute name (i.e., 'border'). */
120 public static final String ATTR_border = "border";
121
122 /** String containing the XHTML 'colspan' attribute name (i.e., 'colspan'). */
123 public static final String ATTR_colspan = "colspan";
124
125 /** String containing the XHTML 'src' attribute name (i.e., 'src'). */
126 public static final String ATTR_src = "src";
127
128 /** String containing the XHTML 'alt' attribute name (i.e., 'alt'). */
129 public static final String ATTR_alt = "alt";
130
131 // okay, maybe not so common
132
133 /** String containing the XHTML 'bgcolor' attribute name (i.e., 'bgcolor'). */
134 public static final String ATTR_bgcolor = "bgcolor";
135
136 /** String containing the XHTML 'checked' attribute name (i.e., 'checked'). */
137 public static final String ATTR_checked = "checked";
138
139 /** String containing the XHTML 'cols' attribute name (i.e., 'cols'). */
140 public static final String ATTR_cols = "cols";
141
142 /** String containing the XHTML 'content' attribute name (i.e., 'content'). */
143 public static final String ATTR_content = "content";
144
145 /** String containing the XHTML 'http-equiv' attribute name (i.e., 'http-equiv'). */
146 public static final String ATTR_httpEquiv = "http-equiv";
147
148 /** String containing the XHTML 'scheme' attribute name (i.e., 'scheme'). */
149 public static final String ATTR_scheme = "scheme";
150
151 /** String containing the XHTML 'rel' attribute name (i.e., 'rel'). */
152 public static final String ATTR_rel = "rel";
153
154 /** String containing the XHTML 'rows' attribute name (i.e., 'rows'). */
155 public static final String ATTR_rows = "rows";
156
157 /** String containing the XHTML 'selected' attribute name (i.e., 'selected'). */
158 public static final String ATTR_selected = "selected";
159
160 /** String containing the XHTML 'size' attribute name (i.e., 'size'). */
161 public static final String ATTR_size = "size";
162
163 /** String containing the XHTML 'style' attribute name (i.e., 'style'). */
164 public static final String ATTR_style = "style";
165
166 /** String containing the XHTML 'align' attribute name (i.e., 'align'). */
167 public static final String ATTR_align = "align";
168
169 /** String containing the XHTML 'cellpadding' attribute name (i.e., 'cellpadding'). */
170 public static final String ATTR_cellpadding = "cellpadding";
171
172 /** String containing the XHTML 'cellspacing' attribute name (i.e., 'cellspacing'). */
173 public static final String ATTR_cellspacing = "cellspacing";
174
175 // XHTML character entities ...........................................
176
177 /**
178 * Returns a String containing the named character entity corresponding to
179 * the character number <tt>num</tt> for the range 160-255. Throws an
180 * ArrayOutOfBoundsException if beyond the prescribed range.
181 */
182 public static String getNamedCharacterEntity( int num )
183 {
184 return CHARACTER_ENTITIES[num-160];
185 }
186
187 /* Conversion table for the XHTML upper ASCII character entities (character numbers 160-255). */
188 private static final String[] CHARACTER_ENTITIES = {
189 "nbsp" /* 160 */, "iexcl" /* 161 */, "cent" /* 162 */, "pound" /* 163 */,
190 "curren" /* 164 */, "yen" /* 165 */, "brvbar" /* 166 */, "sect" /* 167 */,
191 "uml" /* 168 */, "copy" /* 169 */, "ordf" /* 170 */, "laquo" /* 171 */,
192 "not" /* 172 */, "shy" /* 173 */, "reg" /* 174 */, "macr" /* 175 */,
193 "deg" /* 176 */, "plusmn" /* 177 */, "sup2" /* 178 */, "sup3" /* 179 */,
194 "acute" /* 180 */, "micro" /* 181 */, "para" /* 182 */, "middot" /* 183 */,
195 "cedil" /* 184 */, "sup1" /* 185 */, "ordm" /* 186 */, "raquo" /* 187 */,
196 "frac14" /* 188 */, "frac12" /* 189 */, "frac34" /* 190 */, "iquest" /* 191 */,
197 "Agrave" /* 192 */, "Aacute" /* 193 */, "Acirc" /* 194 */, "Atilde" /* 195 */,
198 "Auml" /* 196 */, "Aring" /* 197 */, "AElig" /* 198 */, "Ccedil" /* 199 */,
199 "Egrave" /* 200 */, "Eacute" /* 201 */, "Ecirc" /* 202 */, "Euml" /* 203 */,
200 "Igrave" /* 204 */, "Iacute" /* 205 */, "Icirc" /* 206 */, "Iuml" /* 207 */,
201 "ETH" /* 208 */, "Ntilde" /* 209 */, "Ograve" /* 210 */, "Oacute" /* 211 */,
202 "Ocirc" /* 212 */, "Otilde" /* 213 */, "Ouml" /* 214 */, "times" /* 215 */,
203 "Oslash" /* 216 */, "Ugrave" /* 217 */, "Uacute" /* 218 */, "Ucirc" /* 219 */,
204 "Uuml" /* 220 */, "Yacute" /* 221 */, "THORN" /* 222 */, "szlig" /* 223 */,
205 "agrave" /* 224 */, "aacute" /* 225 */, "acirc" /* 226 */, "atilde" /* 227 */,
206 "auml" /* 228 */, "aring" /* 229 */, "aelig" /* 230 */, "ccedil" /* 231 */,
207 "egrave" /* 232 */, "eacute" /* 233 */, "ecirc" /* 234 */, "euml" /* 235 */,
208 "igrave" /* 236 */, "iacute" /* 237 */, "icirc" /* 238 */, "iuml" /* 239 */,
209 "eth" /* 240 */, "ntilde" /* 241 */, "ograve" /* 242 */, "oacute" /* 243 */,
210 "ocirc" /* 244 */, "otilde" /* 245 */, "ouml" /* 246 */, "divide" /* 247 */,
211 "oslash" /* 248 */, "ugrave" /* 249 */, "uacute" /* 250 */, "ucirc" /* 251 */,
212 "uuml" /* 252 */, "yacute" /* 253 */, "thorn" /* 254 */, "yuml" /* 255 */ };
213
214 } // end org.apache.wiki.util.XHTML