001 /* 002 * Copyright (c) 2008-2011 Mozilla Foundation 003 * 004 * Permission is hereby granted, free of charge, to any person obtaining a 005 * copy of this software and associated documentation files (the "Software"), 006 * to deal in the Software without restriction, including without limitation 007 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 008 * and/or sell copies of the Software, and to permit persons to whom the 009 * Software is furnished to do so, subject to the following conditions: 010 * 011 * The above copyright notice and this permission notice shall be included in 012 * all copies or substantial portions of the Software. 013 * 014 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 015 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 016 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 017 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 018 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 019 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 020 * DEALINGS IN THE SOFTWARE. 021 */ 022 023 package nu.validator.htmlparser.impl; 024 025 import java.util.Arrays; 026 027 import nu.validator.htmlparser.annotation.Inline; 028 import nu.validator.htmlparser.annotation.Local; 029 import nu.validator.htmlparser.annotation.NoLength; 030 import nu.validator.htmlparser.annotation.Virtual; 031 import nu.validator.htmlparser.common.Interner; 032 033 public final class ElementName 034 // uncomment when regenerating self 035 // implements Comparable<ElementName> 036 { 037 038 /** 039 * The mask for extracting the dispatch group. 040 */ 041 public static final int GROUP_MASK = 127; 042 043 /** 044 * Indicates that the element is not a pre-interned element. Forbidden 045 * on preinterned elements. 046 */ 047 public static final int CUSTOM = (1 << 30); 048 049 /** 050 * Indicates that the element is in the "special" category. This bit 051 * should not be pre-set on MathML or SVG specials--only on HTML specials. 052 */ 053 public static final int SPECIAL = (1 << 29); 054 055 /** 056 * The element is foster-parenting. This bit should be pre-set on elements 057 * that are foster-parenting as HTML. 058 */ 059 public static final int FOSTER_PARENTING = (1 << 28); 060 061 /** 062 * The element is scoping. This bit should be pre-set on elements 063 * that are scoping as HTML. 064 */ 065 public static final int SCOPING = (1 << 27); 066 067 /** 068 * The element is scoping as SVG. 069 */ 070 public static final int SCOPING_AS_SVG = (1 << 26); 071 072 /** 073 * The element is scoping as MathML. 074 */ 075 public static final int SCOPING_AS_MATHML = (1 << 25); 076 077 /** 078 * The element is an HTML integration point. 079 */ 080 public static final int HTML_INTEGRATION_POINT = (1 << 24); 081 082 /** 083 * The element has an optional end tag. 084 */ 085 public static final int OPTIONAL_END_TAG = (1 << 23); 086 087 public static final ElementName NULL_ELEMENT_NAME = new ElementName(null); 088 089 public final @Local String name; 090 091 public final @Local String camelCaseName; 092 093 /** 094 * The lowest 7 bits are the dispatch group. The high bits are flags. 095 */ 096 public final int flags; 097 098 @Inline public int getFlags() { 099 return flags; 100 } 101 102 public int getGroup() { 103 return flags & GROUP_MASK; 104 } 105 106 // [NOCPP[ 107 108 public boolean isCustom() { 109 return (flags & CUSTOM) != 0; 110 } 111 112 // ]NOCPP] 113 114 static ElementName elementNameByBuffer(@NoLength char[] buf, int offset, int length, Interner interner) { 115 int hash = ElementName.bufToHash(buf, length); 116 int index = Arrays.binarySearch(ElementName.ELEMENT_HASHES, hash); 117 if (index < 0) { 118 return new ElementName(Portability.newLocalNameFromBuffer(buf, offset, length, interner)); 119 } else { 120 ElementName elementName = ElementName.ELEMENT_NAMES[index]; 121 @Local String name = elementName.name; 122 if (!Portability.localEqualsBuffer(name, buf, offset, length)) { 123 return new ElementName(Portability.newLocalNameFromBuffer(buf, 124 offset, length, interner)); 125 } 126 return elementName; 127 } 128 } 129 130 /** 131 * This method has to return a unique integer for each well-known 132 * lower-cased element name. 133 * 134 * @param buf 135 * @param len 136 * @return 137 */ 138 private static int bufToHash(@NoLength char[] buf, int len) { 139 int hash = len; 140 hash <<= 5; 141 hash += buf[0] - 0x60; 142 int j = len; 143 for (int i = 0; i < 4 && j > 0; i++) { 144 j--; 145 hash <<= 5; 146 hash += buf[j] - 0x60; 147 } 148 return hash; 149 } 150 151 private ElementName(@Local String name, @Local String camelCaseName, 152 int flags) { 153 this.name = name; 154 this.camelCaseName = camelCaseName; 155 this.flags = flags; 156 } 157 158 protected ElementName(@Local String name) { 159 this.name = name; 160 this.camelCaseName = name; 161 this.flags = TreeBuilder.OTHER | CUSTOM; 162 } 163 164 @Virtual void release() { 165 // No-op in Java. 166 // Implement as delete this in subclass. 167 // Be sure to release the local name 168 } 169 170 @SuppressWarnings("unused") private void destructor() { 171 } 172 173 @Virtual public ElementName cloneElementName(Interner interner) { 174 return this; 175 } 176 177 // START CODE ONLY USED FOR GENERATING CODE uncomment and run to regenerate 178 179 // /** 180 // * @see java.lang.Object#toString() 181 // */ 182 // @Override public String toString() { 183 // return "(\"" + name + "\", \"" + camelCaseName + "\", " + decomposedFlags() + ")"; 184 // } 185 // 186 // private String decomposedFlags() { 187 // StringBuilder buf = new StringBuilder("TreeBuilder."); 188 // buf.append(treeBuilderGroupToName()); 189 // if ((flags & SPECIAL) != 0) { 190 // buf.append(" | SPECIAL"); 191 // } 192 // if ((flags & FOSTER_PARENTING) != 0) { 193 // buf.append(" | FOSTER_PARENTING"); 194 // } 195 // if ((flags & SCOPING) != 0) { 196 // buf.append(" | SCOPING"); 197 // } 198 // if ((flags & SCOPING_AS_MATHML) != 0) { 199 // buf.append(" | SCOPING_AS_MATHML"); 200 // } 201 // if ((flags & SCOPING_AS_SVG) != 0) { 202 // buf.append(" | SCOPING_AS_SVG"); 203 // } 204 // if ((flags & OPTIONAL_END_TAG) != 0) { 205 // buf.append(" | OPTIONAL_END_TAG"); 206 // } 207 // return buf.toString(); 208 // } 209 // 210 // private String constName() { 211 // char[] buf = new char[name.length()]; 212 // for (int i = 0; i < name.length(); i++) { 213 // char c = name.charAt(i); 214 // if (c == '-') { 215 // buf[i] = '_'; 216 // } else if (c >= '0' && c <= '9') { 217 // buf[i] = c; 218 // } else { 219 // buf[i] = (char) (c - 0x20); 220 // } 221 // } 222 // return new String(buf); 223 // } 224 // 225 // private int hash() { 226 // return bufToHash(name.toCharArray(), name.length()); 227 // } 228 // 229 // public int compareTo(ElementName other) { 230 // int thisHash = this.hash(); 231 // int otherHash = other.hash(); 232 // if (thisHash < otherHash) { 233 // return -1; 234 // } else if (thisHash == otherHash) { 235 // return 0; 236 // } else { 237 // return 1; 238 // } 239 // } 240 // 241 // private String treeBuilderGroupToName() { 242 // switch (getGroup()) { 243 // case TreeBuilder.OTHER: 244 // return "OTHER"; 245 // case TreeBuilder.A: 246 // return "A"; 247 // case TreeBuilder.BASE: 248 // return "BASE"; 249 // case TreeBuilder.BODY: 250 // return "BODY"; 251 // case TreeBuilder.BR: 252 // return "BR"; 253 // case TreeBuilder.BUTTON: 254 // return "BUTTON"; 255 // case TreeBuilder.CAPTION: 256 // return "CAPTION"; 257 // case TreeBuilder.COL: 258 // return "COL"; 259 // case TreeBuilder.COLGROUP: 260 // return "COLGROUP"; 261 // case TreeBuilder.FONT: 262 // return "FONT"; 263 // case TreeBuilder.FORM: 264 // return "FORM"; 265 // case TreeBuilder.FRAME: 266 // return "FRAME"; 267 // case TreeBuilder.FRAMESET: 268 // return "FRAMESET"; 269 // case TreeBuilder.IMAGE: 270 // return "IMAGE"; 271 // case TreeBuilder.INPUT: 272 // return "INPUT"; 273 // case TreeBuilder.ISINDEX: 274 // return "ISINDEX"; 275 // case TreeBuilder.LI: 276 // return "LI"; 277 // case TreeBuilder.LINK_OR_BASEFONT_OR_BGSOUND: 278 // return "LINK_OR_BASEFONT_OR_BGSOUND"; 279 // case TreeBuilder.MATH: 280 // return "MATH"; 281 // case TreeBuilder.META: 282 // return "META"; 283 // case TreeBuilder.SVG: 284 // return "SVG"; 285 // case TreeBuilder.HEAD: 286 // return "HEAD"; 287 // case TreeBuilder.HR: 288 // return "HR"; 289 // case TreeBuilder.HTML: 290 // return "HTML"; 291 // case TreeBuilder.KEYGEN: 292 // return "KEYGEN"; 293 // case TreeBuilder.NOBR: 294 // return "NOBR"; 295 // case TreeBuilder.NOFRAMES: 296 // return "NOFRAMES"; 297 // case TreeBuilder.NOSCRIPT: 298 // return "NOSCRIPT"; 299 // case TreeBuilder.OPTGROUP: 300 // return "OPTGROUP"; 301 // case TreeBuilder.OPTION: 302 // return "OPTION"; 303 // case TreeBuilder.P: 304 // return "P"; 305 // case TreeBuilder.PLAINTEXT: 306 // return "PLAINTEXT"; 307 // case TreeBuilder.SCRIPT: 308 // return "SCRIPT"; 309 // case TreeBuilder.SELECT: 310 // return "SELECT"; 311 // case TreeBuilder.STYLE: 312 // return "STYLE"; 313 // case TreeBuilder.TABLE: 314 // return "TABLE"; 315 // case TreeBuilder.TEXTAREA: 316 // return "TEXTAREA"; 317 // case TreeBuilder.TITLE: 318 // return "TITLE"; 319 // case TreeBuilder.TR: 320 // return "TR"; 321 // case TreeBuilder.XMP: 322 // return "XMP"; 323 // case TreeBuilder.TBODY_OR_THEAD_OR_TFOOT: 324 // return "TBODY_OR_THEAD_OR_TFOOT"; 325 // case TreeBuilder.TD_OR_TH: 326 // return "TD_OR_TH"; 327 // case TreeBuilder.DD_OR_DT: 328 // return "DD_OR_DT"; 329 // case TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6: 330 // return "H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6"; 331 // case TreeBuilder.OBJECT: 332 // return "OBJECT"; 333 // case TreeBuilder.OUTPUT_OR_LABEL: 334 // return "OUTPUT_OR_LABEL"; 335 // case TreeBuilder.MARQUEE_OR_APPLET: 336 // return "MARQUEE_OR_APPLET"; 337 // case TreeBuilder.PRE_OR_LISTING: 338 // return "PRE_OR_LISTING"; 339 // case TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U: 340 // return "B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U"; 341 // case TreeBuilder.UL_OR_OL_OR_DL: 342 // return "UL_OR_OL_OR_DL"; 343 // case TreeBuilder.IFRAME: 344 // return "IFRAME"; 345 // case TreeBuilder.NOEMBED: 346 // return "NOEMBED"; 347 // case TreeBuilder.EMBED_OR_IMG: 348 // return "EMBED_OR_IMG"; 349 // case TreeBuilder.AREA_OR_WBR: 350 // return "AREA_OR_WBR"; 351 // case TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU: 352 // return "DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU"; 353 // case TreeBuilder.FIELDSET: 354 // return "FIELDSET"; 355 // case TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY: 356 // return "ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY"; 357 // case TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR: 358 // return "RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR"; 359 // case TreeBuilder.RT_OR_RP: 360 // return "RT_OR_RP"; 361 // case TreeBuilder.COMMAND: 362 // return "COMMAND"; 363 // case TreeBuilder.PARAM_OR_SOURCE_OR_TRACK: 364 // return "PARAM_OR_SOURCE_OR_TRACK"; 365 // case TreeBuilder.MGLYPH_OR_MALIGNMARK: 366 // return "MGLYPH_OR_MALIGNMARK"; 367 // case TreeBuilder.MI_MO_MN_MS_MTEXT: 368 // return "MI_MO_MN_MS_MTEXT"; 369 // case TreeBuilder.ANNOTATION_XML: 370 // return "ANNOTATION_XML"; 371 // case TreeBuilder.FOREIGNOBJECT_OR_DESC: 372 // return "FOREIGNOBJECT_OR_DESC"; 373 // } 374 // return null; 375 // } 376 // 377 // /** 378 // * Regenerate self 379 // * 380 // * @param args 381 // */ 382 // public static void main(String[] args) { 383 // Arrays.sort(ELEMENT_NAMES); 384 // for (int i = 1; i < ELEMENT_NAMES.length; i++) { 385 // if (ELEMENT_NAMES[i].hash() == ELEMENT_NAMES[i - 1].hash()) { 386 // System.err.println("Hash collision: " + ELEMENT_NAMES[i].name 387 // + ", " + ELEMENT_NAMES[i - 1].name); 388 // return; 389 // } 390 // } 391 // for (int i = 0; i < ELEMENT_NAMES.length; i++) { 392 // ElementName el = ELEMENT_NAMES[i]; 393 // System.out.println("public static final ElementName " 394 // + el.constName() + " = new ElementName" + el.toString() 395 // + ";"); 396 // } 397 // System.out.println("private final static @NoLength ElementName[] ELEMENT_NAMES = {"); 398 // for (int i = 0; i < ELEMENT_NAMES.length; i++) { 399 // ElementName el = ELEMENT_NAMES[i]; 400 // System.out.println(el.constName() + ","); 401 // } 402 // System.out.println("};"); 403 // System.out.println("private final static int[] ELEMENT_HASHES = {"); 404 // for (int i = 0; i < ELEMENT_NAMES.length; i++) { 405 // ElementName el = ELEMENT_NAMES[i]; 406 // System.out.println(Integer.toString(el.hash()) + ","); 407 // } 408 // System.out.println("};"); 409 // } 410 411 // START GENERATED CODE 412 public static final ElementName A = new ElementName("a", "a", TreeBuilder.A); 413 public static final ElementName B = new ElementName("b", "b", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); 414 public static final ElementName G = new ElementName("g", "g", TreeBuilder.OTHER); 415 public static final ElementName I = new ElementName("i", "i", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); 416 public static final ElementName P = new ElementName("p", "p", TreeBuilder.P | SPECIAL | OPTIONAL_END_TAG); 417 public static final ElementName Q = new ElementName("q", "q", TreeBuilder.OTHER); 418 public static final ElementName S = new ElementName("s", "s", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); 419 public static final ElementName U = new ElementName("u", "u", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); 420 public static final ElementName BR = new ElementName("br", "br", TreeBuilder.BR | SPECIAL); 421 public static final ElementName CI = new ElementName("ci", "ci", TreeBuilder.OTHER); 422 public static final ElementName CN = new ElementName("cn", "cn", TreeBuilder.OTHER); 423 public static final ElementName DD = new ElementName("dd", "dd", TreeBuilder.DD_OR_DT | SPECIAL | OPTIONAL_END_TAG); 424 public static final ElementName DL = new ElementName("dl", "dl", TreeBuilder.UL_OR_OL_OR_DL | SPECIAL); 425 public static final ElementName DT = new ElementName("dt", "dt", TreeBuilder.DD_OR_DT | SPECIAL | OPTIONAL_END_TAG); 426 public static final ElementName EM = new ElementName("em", "em", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); 427 public static final ElementName EQ = new ElementName("eq", "eq", TreeBuilder.OTHER); 428 public static final ElementName FN = new ElementName("fn", "fn", TreeBuilder.OTHER); 429 public static final ElementName H1 = new ElementName("h1", "h1", TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); 430 public static final ElementName H2 = new ElementName("h2", "h2", TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); 431 public static final ElementName H3 = new ElementName("h3", "h3", TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); 432 public static final ElementName H4 = new ElementName("h4", "h4", TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); 433 public static final ElementName H5 = new ElementName("h5", "h5", TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); 434 public static final ElementName H6 = new ElementName("h6", "h6", TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); 435 public static final ElementName GT = new ElementName("gt", "gt", TreeBuilder.OTHER); 436 public static final ElementName HR = new ElementName("hr", "hr", TreeBuilder.HR | SPECIAL); 437 public static final ElementName IN = new ElementName("in", "in", TreeBuilder.OTHER); 438 public static final ElementName LI = new ElementName("li", "li", TreeBuilder.LI | SPECIAL | OPTIONAL_END_TAG); 439 public static final ElementName LN = new ElementName("ln", "ln", TreeBuilder.OTHER); 440 public static final ElementName LT = new ElementName("lt", "lt", TreeBuilder.OTHER); 441 public static final ElementName MI = new ElementName("mi", "mi", TreeBuilder.MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML); 442 public static final ElementName MN = new ElementName("mn", "mn", TreeBuilder.MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML); 443 public static final ElementName MO = new ElementName("mo", "mo", TreeBuilder.MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML); 444 public static final ElementName MS = new ElementName("ms", "ms", TreeBuilder.MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML); 445 public static final ElementName OL = new ElementName("ol", "ol", TreeBuilder.UL_OR_OL_OR_DL | SPECIAL); 446 public static final ElementName OR = new ElementName("or", "or", TreeBuilder.OTHER); 447 public static final ElementName PI = new ElementName("pi", "pi", TreeBuilder.OTHER); 448 public static final ElementName RP = new ElementName("rp", "rp", TreeBuilder.RT_OR_RP | OPTIONAL_END_TAG); 449 public static final ElementName RT = new ElementName("rt", "rt", TreeBuilder.RT_OR_RP | OPTIONAL_END_TAG); 450 public static final ElementName TD = new ElementName("td", "td", TreeBuilder.TD_OR_TH | SPECIAL | SCOPING | OPTIONAL_END_TAG); 451 public static final ElementName TH = new ElementName("th", "th", TreeBuilder.TD_OR_TH | SPECIAL | SCOPING | OPTIONAL_END_TAG); 452 public static final ElementName TR = new ElementName("tr", "tr", TreeBuilder.TR | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG); 453 public static final ElementName TT = new ElementName("tt", "tt", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); 454 public static final ElementName UL = new ElementName("ul", "ul", TreeBuilder.UL_OR_OL_OR_DL | SPECIAL); 455 public static final ElementName AND = new ElementName("and", "and", TreeBuilder.OTHER); 456 public static final ElementName ARG = new ElementName("arg", "arg", TreeBuilder.OTHER); 457 public static final ElementName ABS = new ElementName("abs", "abs", TreeBuilder.OTHER); 458 public static final ElementName BIG = new ElementName("big", "big", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); 459 public static final ElementName BDO = new ElementName("bdo", "bdo", TreeBuilder.OTHER); 460 public static final ElementName CSC = new ElementName("csc", "csc", TreeBuilder.OTHER); 461 public static final ElementName COL = new ElementName("col", "col", TreeBuilder.COL | SPECIAL); 462 public static final ElementName COS = new ElementName("cos", "cos", TreeBuilder.OTHER); 463 public static final ElementName COT = new ElementName("cot", "cot", TreeBuilder.OTHER); 464 public static final ElementName DEL = new ElementName("del", "del", TreeBuilder.OTHER); 465 public static final ElementName DFN = new ElementName("dfn", "dfn", TreeBuilder.OTHER); 466 public static final ElementName DIR = new ElementName("dir", "dir", TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); 467 public static final ElementName DIV = new ElementName("div", "div", TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL); 468 public static final ElementName EXP = new ElementName("exp", "exp", TreeBuilder.OTHER); 469 public static final ElementName GCD = new ElementName("gcd", "gcd", TreeBuilder.OTHER); 470 public static final ElementName GEQ = new ElementName("geq", "geq", TreeBuilder.OTHER); 471 public static final ElementName IMG = new ElementName("img", "img", TreeBuilder.EMBED_OR_IMG | SPECIAL); 472 public static final ElementName INS = new ElementName("ins", "ins", TreeBuilder.OTHER); 473 public static final ElementName INT = new ElementName("int", "int", TreeBuilder.OTHER); 474 public static final ElementName KBD = new ElementName("kbd", "kbd", TreeBuilder.OTHER); 475 public static final ElementName LOG = new ElementName("log", "log", TreeBuilder.OTHER); 476 public static final ElementName LCM = new ElementName("lcm", "lcm", TreeBuilder.OTHER); 477 public static final ElementName LEQ = new ElementName("leq", "leq", TreeBuilder.OTHER); 478 public static final ElementName MTD = new ElementName("mtd", "mtd", TreeBuilder.OTHER); 479 public static final ElementName MIN = new ElementName("min", "min", TreeBuilder.OTHER); 480 public static final ElementName MAP = new ElementName("map", "map", TreeBuilder.OTHER); 481 public static final ElementName MTR = new ElementName("mtr", "mtr", TreeBuilder.OTHER); 482 public static final ElementName MAX = new ElementName("max", "max", TreeBuilder.OTHER); 483 public static final ElementName NEQ = new ElementName("neq", "neq", TreeBuilder.OTHER); 484 public static final ElementName NOT = new ElementName("not", "not", TreeBuilder.OTHER); 485 public static final ElementName NAV = new ElementName("nav", "nav", TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); 486 public static final ElementName PRE = new ElementName("pre", "pre", TreeBuilder.PRE_OR_LISTING | SPECIAL); 487 public static final ElementName REM = new ElementName("rem", "rem", TreeBuilder.OTHER); 488 public static final ElementName SUB = new ElementName("sub", "sub", TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR); 489 public static final ElementName SEC = new ElementName("sec", "sec", TreeBuilder.OTHER); 490 public static final ElementName SVG = new ElementName("svg", "svg", TreeBuilder.SVG); 491 public static final ElementName SUM = new ElementName("sum", "sum", TreeBuilder.OTHER); 492 public static final ElementName SIN = new ElementName("sin", "sin", TreeBuilder.OTHER); 493 public static final ElementName SEP = new ElementName("sep", "sep", TreeBuilder.OTHER); 494 public static final ElementName SUP = new ElementName("sup", "sup", TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR); 495 public static final ElementName SET = new ElementName("set", "set", TreeBuilder.OTHER); 496 public static final ElementName TAN = new ElementName("tan", "tan", TreeBuilder.OTHER); 497 public static final ElementName USE = new ElementName("use", "use", TreeBuilder.OTHER); 498 public static final ElementName VAR = new ElementName("var", "var", TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR); 499 public static final ElementName WBR = new ElementName("wbr", "wbr", TreeBuilder.AREA_OR_WBR | SPECIAL); 500 public static final ElementName XMP = new ElementName("xmp", "xmp", TreeBuilder.XMP); 501 public static final ElementName XOR = new ElementName("xor", "xor", TreeBuilder.OTHER); 502 public static final ElementName AREA = new ElementName("area", "area", TreeBuilder.AREA_OR_WBR | SPECIAL); 503 public static final ElementName ABBR = new ElementName("abbr", "abbr", TreeBuilder.OTHER); 504 public static final ElementName BASE = new ElementName("base", "base", TreeBuilder.BASE | SPECIAL); 505 public static final ElementName BVAR = new ElementName("bvar", "bvar", TreeBuilder.OTHER); 506 public static final ElementName BODY = new ElementName("body", "body", TreeBuilder.BODY | SPECIAL | OPTIONAL_END_TAG); 507 public static final ElementName CARD = new ElementName("card", "card", TreeBuilder.OTHER); 508 public static final ElementName CODE = new ElementName("code", "code", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); 509 public static final ElementName CITE = new ElementName("cite", "cite", TreeBuilder.OTHER); 510 public static final ElementName CSCH = new ElementName("csch", "csch", TreeBuilder.OTHER); 511 public static final ElementName COSH = new ElementName("cosh", "cosh", TreeBuilder.OTHER); 512 public static final ElementName COTH = new ElementName("coth", "coth", TreeBuilder.OTHER); 513 public static final ElementName CURL = new ElementName("curl", "curl", TreeBuilder.OTHER); 514 public static final ElementName DESC = new ElementName("desc", "desc", TreeBuilder.FOREIGNOBJECT_OR_DESC | SCOPING_AS_SVG); 515 public static final ElementName DIFF = new ElementName("diff", "diff", TreeBuilder.OTHER); 516 public static final ElementName DEFS = new ElementName("defs", "defs", TreeBuilder.OTHER); 517 public static final ElementName FORM = new ElementName("form", "form", TreeBuilder.FORM | SPECIAL); 518 public static final ElementName FONT = new ElementName("font", "font", TreeBuilder.FONT); 519 public static final ElementName GRAD = new ElementName("grad", "grad", TreeBuilder.OTHER); 520 public static final ElementName HEAD = new ElementName("head", "head", TreeBuilder.HEAD | SPECIAL | OPTIONAL_END_TAG); 521 public static final ElementName HTML = new ElementName("html", "html", TreeBuilder.HTML | SPECIAL | SCOPING | OPTIONAL_END_TAG); 522 public static final ElementName LINE = new ElementName("line", "line", TreeBuilder.OTHER); 523 public static final ElementName LINK = new ElementName("link", "link", TreeBuilder.LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL); 524 public static final ElementName LIST = new ElementName("list", "list", TreeBuilder.OTHER); 525 public static final ElementName META = new ElementName("meta", "meta", TreeBuilder.META | SPECIAL); 526 public static final ElementName MSUB = new ElementName("msub", "msub", TreeBuilder.OTHER); 527 public static final ElementName MODE = new ElementName("mode", "mode", TreeBuilder.OTHER); 528 public static final ElementName MATH = new ElementName("math", "math", TreeBuilder.MATH); 529 public static final ElementName MARK = new ElementName("mark", "mark", TreeBuilder.OTHER); 530 public static final ElementName MASK = new ElementName("mask", "mask", TreeBuilder.OTHER); 531 public static final ElementName MEAN = new ElementName("mean", "mean", TreeBuilder.OTHER); 532 public static final ElementName MSUP = new ElementName("msup", "msup", TreeBuilder.OTHER); 533 public static final ElementName MENU = new ElementName("menu", "menu", TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL); 534 public static final ElementName MROW = new ElementName("mrow", "mrow", TreeBuilder.OTHER); 535 public static final ElementName NONE = new ElementName("none", "none", TreeBuilder.OTHER); 536 public static final ElementName NOBR = new ElementName("nobr", "nobr", TreeBuilder.NOBR); 537 public static final ElementName NEST = new ElementName("nest", "nest", TreeBuilder.OTHER); 538 public static final ElementName PATH = new ElementName("path", "path", TreeBuilder.OTHER); 539 public static final ElementName PLUS = new ElementName("plus", "plus", TreeBuilder.OTHER); 540 public static final ElementName RULE = new ElementName("rule", "rule", TreeBuilder.OTHER); 541 public static final ElementName REAL = new ElementName("real", "real", TreeBuilder.OTHER); 542 public static final ElementName RELN = new ElementName("reln", "reln", TreeBuilder.OTHER); 543 public static final ElementName RECT = new ElementName("rect", "rect", TreeBuilder.OTHER); 544 public static final ElementName ROOT = new ElementName("root", "root", TreeBuilder.OTHER); 545 public static final ElementName RUBY = new ElementName("ruby", "ruby", TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR); 546 public static final ElementName SECH = new ElementName("sech", "sech", TreeBuilder.OTHER); 547 public static final ElementName SINH = new ElementName("sinh", "sinh", TreeBuilder.OTHER); 548 public static final ElementName SPAN = new ElementName("span", "span", TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR); 549 public static final ElementName SAMP = new ElementName("samp", "samp", TreeBuilder.OTHER); 550 public static final ElementName STOP = new ElementName("stop", "stop", TreeBuilder.OTHER); 551 public static final ElementName SDEV = new ElementName("sdev", "sdev", TreeBuilder.OTHER); 552 public static final ElementName TIME = new ElementName("time", "time", TreeBuilder.OTHER); 553 public static final ElementName TRUE = new ElementName("true", "true", TreeBuilder.OTHER); 554 public static final ElementName TREF = new ElementName("tref", "tref", TreeBuilder.OTHER); 555 public static final ElementName TANH = new ElementName("tanh", "tanh", TreeBuilder.OTHER); 556 public static final ElementName TEXT = new ElementName("text", "text", TreeBuilder.OTHER); 557 public static final ElementName VIEW = new ElementName("view", "view", TreeBuilder.OTHER); 558 public static final ElementName ASIDE = new ElementName("aside", "aside", TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); 559 public static final ElementName AUDIO = new ElementName("audio", "audio", TreeBuilder.OTHER); 560 public static final ElementName APPLY = new ElementName("apply", "apply", TreeBuilder.OTHER); 561 public static final ElementName EMBED = new ElementName("embed", "embed", TreeBuilder.EMBED_OR_IMG | SPECIAL); 562 public static final ElementName FRAME = new ElementName("frame", "frame", TreeBuilder.FRAME | SPECIAL); 563 public static final ElementName FALSE = new ElementName("false", "false", TreeBuilder.OTHER); 564 public static final ElementName FLOOR = new ElementName("floor", "floor", TreeBuilder.OTHER); 565 public static final ElementName GLYPH = new ElementName("glyph", "glyph", TreeBuilder.OTHER); 566 public static final ElementName HKERN = new ElementName("hkern", "hkern", TreeBuilder.OTHER); 567 public static final ElementName IMAGE = new ElementName("image", "image", TreeBuilder.IMAGE | SPECIAL); 568 public static final ElementName IDENT = new ElementName("ident", "ident", TreeBuilder.OTHER); 569 public static final ElementName INPUT = new ElementName("input", "input", TreeBuilder.INPUT | SPECIAL); 570 public static final ElementName LABEL = new ElementName("label", "label", TreeBuilder.OUTPUT_OR_LABEL); 571 public static final ElementName LIMIT = new ElementName("limit", "limit", TreeBuilder.OTHER); 572 public static final ElementName MFRAC = new ElementName("mfrac", "mfrac", TreeBuilder.OTHER); 573 public static final ElementName MPATH = new ElementName("mpath", "mpath", TreeBuilder.OTHER); 574 public static final ElementName METER = new ElementName("meter", "meter", TreeBuilder.OTHER); 575 public static final ElementName MOVER = new ElementName("mover", "mover", TreeBuilder.OTHER); 576 public static final ElementName MINUS = new ElementName("minus", "minus", TreeBuilder.OTHER); 577 public static final ElementName MROOT = new ElementName("mroot", "mroot", TreeBuilder.OTHER); 578 public static final ElementName MSQRT = new ElementName("msqrt", "msqrt", TreeBuilder.OTHER); 579 public static final ElementName MTEXT = new ElementName("mtext", "mtext", TreeBuilder.MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML); 580 public static final ElementName NOTIN = new ElementName("notin", "notin", TreeBuilder.OTHER); 581 public static final ElementName PIECE = new ElementName("piece", "piece", TreeBuilder.OTHER); 582 public static final ElementName PARAM = new ElementName("param", "param", TreeBuilder.PARAM_OR_SOURCE_OR_TRACK | SPECIAL); 583 public static final ElementName POWER = new ElementName("power", "power", TreeBuilder.OTHER); 584 public static final ElementName REALS = new ElementName("reals", "reals", TreeBuilder.OTHER); 585 public static final ElementName STYLE = new ElementName("style", "style", TreeBuilder.STYLE | SPECIAL); 586 public static final ElementName SMALL = new ElementName("small", "small", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); 587 public static final ElementName THEAD = new ElementName("thead", "thead", TreeBuilder.TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG); 588 public static final ElementName TABLE = new ElementName("table", "table", TreeBuilder.TABLE | SPECIAL | FOSTER_PARENTING | SCOPING); 589 public static final ElementName TITLE = new ElementName("title", "title", TreeBuilder.TITLE | SPECIAL | SCOPING_AS_SVG); 590 public static final ElementName TRACK = new ElementName("track", "track", TreeBuilder.PARAM_OR_SOURCE_OR_TRACK); 591 public static final ElementName TSPAN = new ElementName("tspan", "tspan", TreeBuilder.OTHER); 592 public static final ElementName TIMES = new ElementName("times", "times", TreeBuilder.OTHER); 593 public static final ElementName TFOOT = new ElementName("tfoot", "tfoot", TreeBuilder.TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG); 594 public static final ElementName TBODY = new ElementName("tbody", "tbody", TreeBuilder.TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG); 595 public static final ElementName UNION = new ElementName("union", "union", TreeBuilder.OTHER); 596 public static final ElementName VKERN = new ElementName("vkern", "vkern", TreeBuilder.OTHER); 597 public static final ElementName VIDEO = new ElementName("video", "video", TreeBuilder.OTHER); 598 public static final ElementName ARCSEC = new ElementName("arcsec", "arcsec", TreeBuilder.OTHER); 599 public static final ElementName ARCCSC = new ElementName("arccsc", "arccsc", TreeBuilder.OTHER); 600 public static final ElementName ARCTAN = new ElementName("arctan", "arctan", TreeBuilder.OTHER); 601 public static final ElementName ARCSIN = new ElementName("arcsin", "arcsin", TreeBuilder.OTHER); 602 public static final ElementName ARCCOS = new ElementName("arccos", "arccos", TreeBuilder.OTHER); 603 public static final ElementName APPLET = new ElementName("applet", "applet", TreeBuilder.MARQUEE_OR_APPLET | SPECIAL | SCOPING); 604 public static final ElementName ARCCOT = new ElementName("arccot", "arccot", TreeBuilder.OTHER); 605 public static final ElementName APPROX = new ElementName("approx", "approx", TreeBuilder.OTHER); 606 public static final ElementName BUTTON = new ElementName("button", "button", TreeBuilder.BUTTON | SPECIAL); 607 public static final ElementName CIRCLE = new ElementName("circle", "circle", TreeBuilder.OTHER); 608 public static final ElementName CENTER = new ElementName("center", "center", TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL); 609 public static final ElementName CURSOR = new ElementName("cursor", "cursor", TreeBuilder.OTHER); 610 public static final ElementName CANVAS = new ElementName("canvas", "canvas", TreeBuilder.OTHER); 611 public static final ElementName DIVIDE = new ElementName("divide", "divide", TreeBuilder.OTHER); 612 public static final ElementName DEGREE = new ElementName("degree", "degree", TreeBuilder.OTHER); 613 public static final ElementName DOMAIN = new ElementName("domain", "domain", TreeBuilder.OTHER); 614 public static final ElementName EXISTS = new ElementName("exists", "exists", TreeBuilder.OTHER); 615 public static final ElementName FETILE = new ElementName("fetile", "feTile", TreeBuilder.OTHER); 616 public static final ElementName FIGURE = new ElementName("figure", "figure", TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); 617 public static final ElementName FORALL = new ElementName("forall", "forall", TreeBuilder.OTHER); 618 public static final ElementName FILTER = new ElementName("filter", "filter", TreeBuilder.OTHER); 619 public static final ElementName FOOTER = new ElementName("footer", "footer", TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); 620 public static final ElementName HGROUP = new ElementName("hgroup", "hgroup", TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); 621 public static final ElementName HEADER = new ElementName("header", "header", TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); 622 public static final ElementName IFRAME = new ElementName("iframe", "iframe", TreeBuilder.IFRAME | SPECIAL); 623 public static final ElementName KEYGEN = new ElementName("keygen", "keygen", TreeBuilder.KEYGEN | SPECIAL); 624 public static final ElementName LAMBDA = new ElementName("lambda", "lambda", TreeBuilder.OTHER); 625 public static final ElementName LEGEND = new ElementName("legend", "legend", TreeBuilder.OTHER); 626 public static final ElementName MSPACE = new ElementName("mspace", "mspace", TreeBuilder.OTHER); 627 public static final ElementName MTABLE = new ElementName("mtable", "mtable", TreeBuilder.OTHER); 628 public static final ElementName MSTYLE = new ElementName("mstyle", "mstyle", TreeBuilder.OTHER); 629 public static final ElementName MGLYPH = new ElementName("mglyph", "mglyph", TreeBuilder.MGLYPH_OR_MALIGNMARK); 630 public static final ElementName MEDIAN = new ElementName("median", "median", TreeBuilder.OTHER); 631 public static final ElementName MUNDER = new ElementName("munder", "munder", TreeBuilder.OTHER); 632 public static final ElementName MARKER = new ElementName("marker", "marker", TreeBuilder.OTHER); 633 public static final ElementName MERROR = new ElementName("merror", "merror", TreeBuilder.OTHER); 634 public static final ElementName MOMENT = new ElementName("moment", "moment", TreeBuilder.OTHER); 635 public static final ElementName MATRIX = new ElementName("matrix", "matrix", TreeBuilder.OTHER); 636 public static final ElementName OPTION = new ElementName("option", "option", TreeBuilder.OPTION | OPTIONAL_END_TAG); 637 public static final ElementName OBJECT = new ElementName("object", "object", TreeBuilder.OBJECT | SPECIAL | SCOPING); 638 public static final ElementName OUTPUT = new ElementName("output", "output", TreeBuilder.OUTPUT_OR_LABEL); 639 public static final ElementName PRIMES = new ElementName("primes", "primes", TreeBuilder.OTHER); 640 public static final ElementName SOURCE = new ElementName("source", "source", TreeBuilder.PARAM_OR_SOURCE_OR_TRACK); 641 public static final ElementName STRIKE = new ElementName("strike", "strike", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); 642 public static final ElementName STRONG = new ElementName("strong", "strong", TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); 643 public static final ElementName SWITCH = new ElementName("switch", "switch", TreeBuilder.OTHER); 644 public static final ElementName SYMBOL = new ElementName("symbol", "symbol", TreeBuilder.OTHER); 645 public static final ElementName SELECT = new ElementName("select", "select", TreeBuilder.SELECT | SPECIAL); 646 public static final ElementName SUBSET = new ElementName("subset", "subset", TreeBuilder.OTHER); 647 public static final ElementName SCRIPT = new ElementName("script", "script", TreeBuilder.SCRIPT | SPECIAL); 648 public static final ElementName TBREAK = new ElementName("tbreak", "tbreak", TreeBuilder.OTHER); 649 public static final ElementName VECTOR = new ElementName("vector", "vector", TreeBuilder.OTHER); 650 public static final ElementName ARTICLE = new ElementName("article", "article", TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); 651 public static final ElementName ANIMATE = new ElementName("animate", "animate", TreeBuilder.OTHER); 652 public static final ElementName ARCSECH = new ElementName("arcsech", "arcsech", TreeBuilder.OTHER); 653 public static final ElementName ARCCSCH = new ElementName("arccsch", "arccsch", TreeBuilder.OTHER); 654 public static final ElementName ARCTANH = new ElementName("arctanh", "arctanh", TreeBuilder.OTHER); 655 public static final ElementName ARCSINH = new ElementName("arcsinh", "arcsinh", TreeBuilder.OTHER); 656 public static final ElementName ARCCOSH = new ElementName("arccosh", "arccosh", TreeBuilder.OTHER); 657 public static final ElementName ARCCOTH = new ElementName("arccoth", "arccoth", TreeBuilder.OTHER); 658 public static final ElementName ACRONYM = new ElementName("acronym", "acronym", TreeBuilder.OTHER); 659 public static final ElementName ADDRESS = new ElementName("address", "address", TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); 660 public static final ElementName BGSOUND = new ElementName("bgsound", "bgsound", TreeBuilder.LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL); 661 public static final ElementName COMMAND = new ElementName("command", "command", TreeBuilder.COMMAND | SPECIAL); 662 public static final ElementName COMPOSE = new ElementName("compose", "compose", TreeBuilder.OTHER); 663 public static final ElementName CEILING = new ElementName("ceiling", "ceiling", TreeBuilder.OTHER); 664 public static final ElementName CSYMBOL = new ElementName("csymbol", "csymbol", TreeBuilder.OTHER); 665 public static final ElementName CAPTION = new ElementName("caption", "caption", TreeBuilder.CAPTION | SPECIAL | SCOPING); 666 public static final ElementName DISCARD = new ElementName("discard", "discard", TreeBuilder.OTHER); 667 public static final ElementName DECLARE = new ElementName("declare", "declare", TreeBuilder.OTHER); 668 public static final ElementName DETAILS = new ElementName("details", "details", TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); 669 public static final ElementName ELLIPSE = new ElementName("ellipse", "ellipse", TreeBuilder.OTHER); 670 public static final ElementName FEFUNCA = new ElementName("fefunca", "feFuncA", TreeBuilder.OTHER); 671 public static final ElementName FEFUNCB = new ElementName("fefuncb", "feFuncB", TreeBuilder.OTHER); 672 public static final ElementName FEBLEND = new ElementName("feblend", "feBlend", TreeBuilder.OTHER); 673 public static final ElementName FEFLOOD = new ElementName("feflood", "feFlood", TreeBuilder.OTHER); 674 public static final ElementName FEIMAGE = new ElementName("feimage", "feImage", TreeBuilder.OTHER); 675 public static final ElementName FEMERGE = new ElementName("femerge", "feMerge", TreeBuilder.OTHER); 676 public static final ElementName FEFUNCG = new ElementName("fefuncg", "feFuncG", TreeBuilder.OTHER); 677 public static final ElementName FEFUNCR = new ElementName("fefuncr", "feFuncR", TreeBuilder.OTHER); 678 public static final ElementName HANDLER = new ElementName("handler", "handler", TreeBuilder.OTHER); 679 public static final ElementName INVERSE = new ElementName("inverse", "inverse", TreeBuilder.OTHER); 680 public static final ElementName IMPLIES = new ElementName("implies", "implies", TreeBuilder.OTHER); 681 public static final ElementName ISINDEX = new ElementName("isindex", "isindex", TreeBuilder.ISINDEX | SPECIAL); 682 public static final ElementName LOGBASE = new ElementName("logbase", "logbase", TreeBuilder.OTHER); 683 public static final ElementName LISTING = new ElementName("listing", "listing", TreeBuilder.PRE_OR_LISTING | SPECIAL); 684 public static final ElementName MFENCED = new ElementName("mfenced", "mfenced", TreeBuilder.OTHER); 685 public static final ElementName MPADDED = new ElementName("mpadded", "mpadded", TreeBuilder.OTHER); 686 public static final ElementName MARQUEE = new ElementName("marquee", "marquee", TreeBuilder.MARQUEE_OR_APPLET | SPECIAL | SCOPING); 687 public static final ElementName MACTION = new ElementName("maction", "maction", TreeBuilder.OTHER); 688 public static final ElementName MSUBSUP = new ElementName("msubsup", "msubsup", TreeBuilder.OTHER); 689 public static final ElementName NOEMBED = new ElementName("noembed", "noembed", TreeBuilder.NOEMBED | SPECIAL); 690 public static final ElementName POLYGON = new ElementName("polygon", "polygon", TreeBuilder.OTHER); 691 public static final ElementName PATTERN = new ElementName("pattern", "pattern", TreeBuilder.OTHER); 692 public static final ElementName PRODUCT = new ElementName("product", "product", TreeBuilder.OTHER); 693 public static final ElementName SETDIFF = new ElementName("setdiff", "setdiff", TreeBuilder.OTHER); 694 public static final ElementName SECTION = new ElementName("section", "section", TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); 695 public static final ElementName SUMMARY = new ElementName("summary", "summary", TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); 696 public static final ElementName TENDSTO = new ElementName("tendsto", "tendsto", TreeBuilder.OTHER); 697 public static final ElementName UPLIMIT = new ElementName("uplimit", "uplimit", TreeBuilder.OTHER); 698 public static final ElementName ALTGLYPH = new ElementName("altglyph", "altGlyph", TreeBuilder.OTHER); 699 public static final ElementName BASEFONT = new ElementName("basefont", "basefont", TreeBuilder.LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL); 700 public static final ElementName CLIPPATH = new ElementName("clippath", "clipPath", TreeBuilder.OTHER); 701 public static final ElementName CODOMAIN = new ElementName("codomain", "codomain", TreeBuilder.OTHER); 702 public static final ElementName COLGROUP = new ElementName("colgroup", "colgroup", TreeBuilder.COLGROUP | SPECIAL | OPTIONAL_END_TAG); 703 public static final ElementName EMPTYSET = new ElementName("emptyset", "emptyset", TreeBuilder.OTHER); 704 public static final ElementName FACTOROF = new ElementName("factorof", "factorof", TreeBuilder.OTHER); 705 public static final ElementName FIELDSET = new ElementName("fieldset", "fieldset", TreeBuilder.FIELDSET | SPECIAL); 706 public static final ElementName FRAMESET = new ElementName("frameset", "frameset", TreeBuilder.FRAMESET | SPECIAL); 707 public static final ElementName FEOFFSET = new ElementName("feoffset", "feOffset", TreeBuilder.OTHER); 708 public static final ElementName GLYPHREF = new ElementName("glyphref", "glyphRef", TreeBuilder.OTHER); 709 public static final ElementName INTERVAL = new ElementName("interval", "interval", TreeBuilder.OTHER); 710 public static final ElementName INTEGERS = new ElementName("integers", "integers", TreeBuilder.OTHER); 711 public static final ElementName INFINITY = new ElementName("infinity", "infinity", TreeBuilder.OTHER); 712 public static final ElementName LISTENER = new ElementName("listener", "listener", TreeBuilder.OTHER); 713 public static final ElementName LOWLIMIT = new ElementName("lowlimit", "lowlimit", TreeBuilder.OTHER); 714 public static final ElementName METADATA = new ElementName("metadata", "metadata", TreeBuilder.OTHER); 715 public static final ElementName MENCLOSE = new ElementName("menclose", "menclose", TreeBuilder.OTHER); 716 public static final ElementName MPHANTOM = new ElementName("mphantom", "mphantom", TreeBuilder.OTHER); 717 public static final ElementName NOFRAMES = new ElementName("noframes", "noframes", TreeBuilder.NOFRAMES | SPECIAL); 718 public static final ElementName NOSCRIPT = new ElementName("noscript", "noscript", TreeBuilder.NOSCRIPT | SPECIAL); 719 public static final ElementName OPTGROUP = new ElementName("optgroup", "optgroup", TreeBuilder.OPTGROUP | SPECIAL | OPTIONAL_END_TAG); 720 public static final ElementName POLYLINE = new ElementName("polyline", "polyline", TreeBuilder.OTHER); 721 public static final ElementName PREFETCH = new ElementName("prefetch", "prefetch", TreeBuilder.OTHER); 722 public static final ElementName PROGRESS = new ElementName("progress", "progress", TreeBuilder.OTHER); 723 public static final ElementName PRSUBSET = new ElementName("prsubset", "prsubset", TreeBuilder.OTHER); 724 public static final ElementName QUOTIENT = new ElementName("quotient", "quotient", TreeBuilder.OTHER); 725 public static final ElementName SELECTOR = new ElementName("selector", "selector", TreeBuilder.OTHER); 726 public static final ElementName TEXTAREA = new ElementName("textarea", "textarea", TreeBuilder.TEXTAREA | SPECIAL); 727 public static final ElementName TEXTPATH = new ElementName("textpath", "textPath", TreeBuilder.OTHER); 728 public static final ElementName VARIANCE = new ElementName("variance", "variance", TreeBuilder.OTHER); 729 public static final ElementName ANIMATION = new ElementName("animation", "animation", TreeBuilder.OTHER); 730 public static final ElementName CONJUGATE = new ElementName("conjugate", "conjugate", TreeBuilder.OTHER); 731 public static final ElementName CONDITION = new ElementName("condition", "condition", TreeBuilder.OTHER); 732 public static final ElementName COMPLEXES = new ElementName("complexes", "complexes", TreeBuilder.OTHER); 733 public static final ElementName FONT_FACE = new ElementName("font-face", "font-face", TreeBuilder.OTHER); 734 public static final ElementName FACTORIAL = new ElementName("factorial", "factorial", TreeBuilder.OTHER); 735 public static final ElementName INTERSECT = new ElementName("intersect", "intersect", TreeBuilder.OTHER); 736 public static final ElementName IMAGINARY = new ElementName("imaginary", "imaginary", TreeBuilder.OTHER); 737 public static final ElementName LAPLACIAN = new ElementName("laplacian", "laplacian", TreeBuilder.OTHER); 738 public static final ElementName MATRIXROW = new ElementName("matrixrow", "matrixrow", TreeBuilder.OTHER); 739 public static final ElementName NOTSUBSET = new ElementName("notsubset", "notsubset", TreeBuilder.OTHER); 740 public static final ElementName OTHERWISE = new ElementName("otherwise", "otherwise", TreeBuilder.OTHER); 741 public static final ElementName PIECEWISE = new ElementName("piecewise", "piecewise", TreeBuilder.OTHER); 742 public static final ElementName PLAINTEXT = new ElementName("plaintext", "plaintext", TreeBuilder.PLAINTEXT | SPECIAL); 743 public static final ElementName RATIONALS = new ElementName("rationals", "rationals", TreeBuilder.OTHER); 744 public static final ElementName SEMANTICS = new ElementName("semantics", "semantics", TreeBuilder.OTHER); 745 public static final ElementName TRANSPOSE = new ElementName("transpose", "transpose", TreeBuilder.OTHER); 746 public static final ElementName ANNOTATION = new ElementName("annotation", "annotation", TreeBuilder.OTHER); 747 public static final ElementName BLOCKQUOTE = new ElementName("blockquote", "blockquote", TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL); 748 public static final ElementName DIVERGENCE = new ElementName("divergence", "divergence", TreeBuilder.OTHER); 749 public static final ElementName EULERGAMMA = new ElementName("eulergamma", "eulergamma", TreeBuilder.OTHER); 750 public static final ElementName EQUIVALENT = new ElementName("equivalent", "equivalent", TreeBuilder.OTHER); 751 public static final ElementName FIGCAPTION = new ElementName("figcaption", "figcaption", TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); 752 public static final ElementName IMAGINARYI = new ElementName("imaginaryi", "imaginaryi", TreeBuilder.OTHER); 753 public static final ElementName MALIGNMARK = new ElementName("malignmark", "malignmark", TreeBuilder.MGLYPH_OR_MALIGNMARK); 754 public static final ElementName MUNDEROVER = new ElementName("munderover", "munderover", TreeBuilder.OTHER); 755 public static final ElementName MLABELEDTR = new ElementName("mlabeledtr", "mlabeledtr", TreeBuilder.OTHER); 756 public static final ElementName NOTANUMBER = new ElementName("notanumber", "notanumber", TreeBuilder.OTHER); 757 public static final ElementName SOLIDCOLOR = new ElementName("solidcolor", "solidcolor", TreeBuilder.OTHER); 758 public static final ElementName ALTGLYPHDEF = new ElementName("altglyphdef", "altGlyphDef", TreeBuilder.OTHER); 759 public static final ElementName DETERMINANT = new ElementName("determinant", "determinant", TreeBuilder.OTHER); 760 public static final ElementName FEMERGENODE = new ElementName("femergenode", "feMergeNode", TreeBuilder.OTHER); 761 public static final ElementName FECOMPOSITE = new ElementName("fecomposite", "feComposite", TreeBuilder.OTHER); 762 public static final ElementName FESPOTLIGHT = new ElementName("fespotlight", "feSpotLight", TreeBuilder.OTHER); 763 public static final ElementName MALIGNGROUP = new ElementName("maligngroup", "maligngroup", TreeBuilder.OTHER); 764 public static final ElementName MPRESCRIPTS = new ElementName("mprescripts", "mprescripts", TreeBuilder.OTHER); 765 public static final ElementName MOMENTABOUT = new ElementName("momentabout", "momentabout", TreeBuilder.OTHER); 766 public static final ElementName NOTPRSUBSET = new ElementName("notprsubset", "notprsubset", TreeBuilder.OTHER); 767 public static final ElementName PARTIALDIFF = new ElementName("partialdiff", "partialdiff", TreeBuilder.OTHER); 768 public static final ElementName ALTGLYPHITEM = new ElementName("altglyphitem", "altGlyphItem", TreeBuilder.OTHER); 769 public static final ElementName ANIMATECOLOR = new ElementName("animatecolor", "animateColor", TreeBuilder.OTHER); 770 public static final ElementName DATATEMPLATE = new ElementName("datatemplate", "datatemplate", TreeBuilder.OTHER); 771 public static final ElementName EXPONENTIALE = new ElementName("exponentiale", "exponentiale", TreeBuilder.OTHER); 772 public static final ElementName FETURBULENCE = new ElementName("feturbulence", "feTurbulence", TreeBuilder.OTHER); 773 public static final ElementName FEPOINTLIGHT = new ElementName("fepointlight", "fePointLight", TreeBuilder.OTHER); 774 public static final ElementName FEMORPHOLOGY = new ElementName("femorphology", "feMorphology", TreeBuilder.OTHER); 775 public static final ElementName OUTERPRODUCT = new ElementName("outerproduct", "outerproduct", TreeBuilder.OTHER); 776 public static final ElementName ANIMATEMOTION = new ElementName("animatemotion", "animateMotion", TreeBuilder.OTHER); 777 public static final ElementName COLOR_PROFILE = new ElementName("color-profile", "color-profile", TreeBuilder.OTHER); 778 public static final ElementName FONT_FACE_SRC = new ElementName("font-face-src", "font-face-src", TreeBuilder.OTHER); 779 public static final ElementName FONT_FACE_URI = new ElementName("font-face-uri", "font-face-uri", TreeBuilder.OTHER); 780 public static final ElementName FOREIGNOBJECT = new ElementName("foreignobject", "foreignObject", TreeBuilder.FOREIGNOBJECT_OR_DESC | SCOPING_AS_SVG); 781 public static final ElementName FECOLORMATRIX = new ElementName("fecolormatrix", "feColorMatrix", TreeBuilder.OTHER); 782 public static final ElementName MISSING_GLYPH = new ElementName("missing-glyph", "missing-glyph", TreeBuilder.OTHER); 783 public static final ElementName MMULTISCRIPTS = new ElementName("mmultiscripts", "mmultiscripts", TreeBuilder.OTHER); 784 public static final ElementName SCALARPRODUCT = new ElementName("scalarproduct", "scalarproduct", TreeBuilder.OTHER); 785 public static final ElementName VECTORPRODUCT = new ElementName("vectorproduct", "vectorproduct", TreeBuilder.OTHER); 786 public static final ElementName ANNOTATION_XML = new ElementName("annotation-xml", "annotation-xml", TreeBuilder.ANNOTATION_XML | SCOPING_AS_MATHML); 787 public static final ElementName DEFINITION_SRC = new ElementName("definition-src", "definition-src", TreeBuilder.OTHER); 788 public static final ElementName FONT_FACE_NAME = new ElementName("font-face-name", "font-face-name", TreeBuilder.OTHER); 789 public static final ElementName FEGAUSSIANBLUR = new ElementName("fegaussianblur", "feGaussianBlur", TreeBuilder.OTHER); 790 public static final ElementName FEDISTANTLIGHT = new ElementName("fedistantlight", "feDistantLight", TreeBuilder.OTHER); 791 public static final ElementName LINEARGRADIENT = new ElementName("lineargradient", "linearGradient", TreeBuilder.OTHER); 792 public static final ElementName NATURALNUMBERS = new ElementName("naturalnumbers", "naturalnumbers", TreeBuilder.OTHER); 793 public static final ElementName RADIALGRADIENT = new ElementName("radialgradient", "radialGradient", TreeBuilder.OTHER); 794 public static final ElementName ANIMATETRANSFORM = new ElementName("animatetransform", "animateTransform", TreeBuilder.OTHER); 795 public static final ElementName CARTESIANPRODUCT = new ElementName("cartesianproduct", "cartesianproduct", TreeBuilder.OTHER); 796 public static final ElementName FONT_FACE_FORMAT = new ElementName("font-face-format", "font-face-format", TreeBuilder.OTHER); 797 public static final ElementName FECONVOLVEMATRIX = new ElementName("feconvolvematrix", "feConvolveMatrix", TreeBuilder.OTHER); 798 public static final ElementName FEDIFFUSELIGHTING = new ElementName("fediffuselighting", "feDiffuseLighting", TreeBuilder.OTHER); 799 public static final ElementName FEDISPLACEMENTMAP = new ElementName("fedisplacementmap", "feDisplacementMap", TreeBuilder.OTHER); 800 public static final ElementName FESPECULARLIGHTING = new ElementName("fespecularlighting", "feSpecularLighting", TreeBuilder.OTHER); 801 public static final ElementName DOMAINOFAPPLICATION = new ElementName("domainofapplication", "domainofapplication", TreeBuilder.OTHER); 802 public static final ElementName FECOMPONENTTRANSFER = new ElementName("fecomponenttransfer", "feComponentTransfer", TreeBuilder.OTHER); 803 private final static @NoLength ElementName[] ELEMENT_NAMES = { 804 A, 805 B, 806 G, 807 I, 808 P, 809 Q, 810 S, 811 U, 812 BR, 813 CI, 814 CN, 815 DD, 816 DL, 817 DT, 818 EM, 819 EQ, 820 FN, 821 H1, 822 H2, 823 H3, 824 H4, 825 H5, 826 H6, 827 GT, 828 HR, 829 IN, 830 LI, 831 LN, 832 LT, 833 MI, 834 MN, 835 MO, 836 MS, 837 OL, 838 OR, 839 PI, 840 RP, 841 RT, 842 TD, 843 TH, 844 TR, 845 TT, 846 UL, 847 AND, 848 ARG, 849 ABS, 850 BIG, 851 BDO, 852 CSC, 853 COL, 854 COS, 855 COT, 856 DEL, 857 DFN, 858 DIR, 859 DIV, 860 EXP, 861 GCD, 862 GEQ, 863 IMG, 864 INS, 865 INT, 866 KBD, 867 LOG, 868 LCM, 869 LEQ, 870 MTD, 871 MIN, 872 MAP, 873 MTR, 874 MAX, 875 NEQ, 876 NOT, 877 NAV, 878 PRE, 879 REM, 880 SUB, 881 SEC, 882 SVG, 883 SUM, 884 SIN, 885 SEP, 886 SUP, 887 SET, 888 TAN, 889 USE, 890 VAR, 891 WBR, 892 XMP, 893 XOR, 894 AREA, 895 ABBR, 896 BASE, 897 BVAR, 898 BODY, 899 CARD, 900 CODE, 901 CITE, 902 CSCH, 903 COSH, 904 COTH, 905 CURL, 906 DESC, 907 DIFF, 908 DEFS, 909 FORM, 910 FONT, 911 GRAD, 912 HEAD, 913 HTML, 914 LINE, 915 LINK, 916 LIST, 917 META, 918 MSUB, 919 MODE, 920 MATH, 921 MARK, 922 MASK, 923 MEAN, 924 MSUP, 925 MENU, 926 MROW, 927 NONE, 928 NOBR, 929 NEST, 930 PATH, 931 PLUS, 932 RULE, 933 REAL, 934 RELN, 935 RECT, 936 ROOT, 937 RUBY, 938 SECH, 939 SINH, 940 SPAN, 941 SAMP, 942 STOP, 943 SDEV, 944 TIME, 945 TRUE, 946 TREF, 947 TANH, 948 TEXT, 949 VIEW, 950 ASIDE, 951 AUDIO, 952 APPLY, 953 EMBED, 954 FRAME, 955 FALSE, 956 FLOOR, 957 GLYPH, 958 HKERN, 959 IMAGE, 960 IDENT, 961 INPUT, 962 LABEL, 963 LIMIT, 964 MFRAC, 965 MPATH, 966 METER, 967 MOVER, 968 MINUS, 969 MROOT, 970 MSQRT, 971 MTEXT, 972 NOTIN, 973 PIECE, 974 PARAM, 975 POWER, 976 REALS, 977 STYLE, 978 SMALL, 979 THEAD, 980 TABLE, 981 TITLE, 982 TRACK, 983 TSPAN, 984 TIMES, 985 TFOOT, 986 TBODY, 987 UNION, 988 VKERN, 989 VIDEO, 990 ARCSEC, 991 ARCCSC, 992 ARCTAN, 993 ARCSIN, 994 ARCCOS, 995 APPLET, 996 ARCCOT, 997 APPROX, 998 BUTTON, 999 CIRCLE, 1000 CENTER, 1001 CURSOR, 1002 CANVAS, 1003 DIVIDE, 1004 DEGREE, 1005 DOMAIN, 1006 EXISTS, 1007 FETILE, 1008 FIGURE, 1009 FORALL, 1010 FILTER, 1011 FOOTER, 1012 HGROUP, 1013 HEADER, 1014 IFRAME, 1015 KEYGEN, 1016 LAMBDA, 1017 LEGEND, 1018 MSPACE, 1019 MTABLE, 1020 MSTYLE, 1021 MGLYPH, 1022 MEDIAN, 1023 MUNDER, 1024 MARKER, 1025 MERROR, 1026 MOMENT, 1027 MATRIX, 1028 OPTION, 1029 OBJECT, 1030 OUTPUT, 1031 PRIMES, 1032 SOURCE, 1033 STRIKE, 1034 STRONG, 1035 SWITCH, 1036 SYMBOL, 1037 SELECT, 1038 SUBSET, 1039 SCRIPT, 1040 TBREAK, 1041 VECTOR, 1042 ARTICLE, 1043 ANIMATE, 1044 ARCSECH, 1045 ARCCSCH, 1046 ARCTANH, 1047 ARCSINH, 1048 ARCCOSH, 1049 ARCCOTH, 1050 ACRONYM, 1051 ADDRESS, 1052 BGSOUND, 1053 COMMAND, 1054 COMPOSE, 1055 CEILING, 1056 CSYMBOL, 1057 CAPTION, 1058 DISCARD, 1059 DECLARE, 1060 DETAILS, 1061 ELLIPSE, 1062 FEFUNCA, 1063 FEFUNCB, 1064 FEBLEND, 1065 FEFLOOD, 1066 FEIMAGE, 1067 FEMERGE, 1068 FEFUNCG, 1069 FEFUNCR, 1070 HANDLER, 1071 INVERSE, 1072 IMPLIES, 1073 ISINDEX, 1074 LOGBASE, 1075 LISTING, 1076 MFENCED, 1077 MPADDED, 1078 MARQUEE, 1079 MACTION, 1080 MSUBSUP, 1081 NOEMBED, 1082 POLYGON, 1083 PATTERN, 1084 PRODUCT, 1085 SETDIFF, 1086 SECTION, 1087 SUMMARY, 1088 TENDSTO, 1089 UPLIMIT, 1090 ALTGLYPH, 1091 BASEFONT, 1092 CLIPPATH, 1093 CODOMAIN, 1094 COLGROUP, 1095 EMPTYSET, 1096 FACTOROF, 1097 FIELDSET, 1098 FRAMESET, 1099 FEOFFSET, 1100 GLYPHREF, 1101 INTERVAL, 1102 INTEGERS, 1103 INFINITY, 1104 LISTENER, 1105 LOWLIMIT, 1106 METADATA, 1107 MENCLOSE, 1108 MPHANTOM, 1109 NOFRAMES, 1110 NOSCRIPT, 1111 OPTGROUP, 1112 POLYLINE, 1113 PREFETCH, 1114 PROGRESS, 1115 PRSUBSET, 1116 QUOTIENT, 1117 SELECTOR, 1118 TEXTAREA, 1119 TEXTPATH, 1120 VARIANCE, 1121 ANIMATION, 1122 CONJUGATE, 1123 CONDITION, 1124 COMPLEXES, 1125 FONT_FACE, 1126 FACTORIAL, 1127 INTERSECT, 1128 IMAGINARY, 1129 LAPLACIAN, 1130 MATRIXROW, 1131 NOTSUBSET, 1132 OTHERWISE, 1133 PIECEWISE, 1134 PLAINTEXT, 1135 RATIONALS, 1136 SEMANTICS, 1137 TRANSPOSE, 1138 ANNOTATION, 1139 BLOCKQUOTE, 1140 DIVERGENCE, 1141 EULERGAMMA, 1142 EQUIVALENT, 1143 FIGCAPTION, 1144 IMAGINARYI, 1145 MALIGNMARK, 1146 MUNDEROVER, 1147 MLABELEDTR, 1148 NOTANUMBER, 1149 SOLIDCOLOR, 1150 ALTGLYPHDEF, 1151 DETERMINANT, 1152 FEMERGENODE, 1153 FECOMPOSITE, 1154 FESPOTLIGHT, 1155 MALIGNGROUP, 1156 MPRESCRIPTS, 1157 MOMENTABOUT, 1158 NOTPRSUBSET, 1159 PARTIALDIFF, 1160 ALTGLYPHITEM, 1161 ANIMATECOLOR, 1162 DATATEMPLATE, 1163 EXPONENTIALE, 1164 FETURBULENCE, 1165 FEPOINTLIGHT, 1166 FEMORPHOLOGY, 1167 OUTERPRODUCT, 1168 ANIMATEMOTION, 1169 COLOR_PROFILE, 1170 FONT_FACE_SRC, 1171 FONT_FACE_URI, 1172 FOREIGNOBJECT, 1173 FECOLORMATRIX, 1174 MISSING_GLYPH, 1175 MMULTISCRIPTS, 1176 SCALARPRODUCT, 1177 VECTORPRODUCT, 1178 ANNOTATION_XML, 1179 DEFINITION_SRC, 1180 FONT_FACE_NAME, 1181 FEGAUSSIANBLUR, 1182 FEDISTANTLIGHT, 1183 LINEARGRADIENT, 1184 NATURALNUMBERS, 1185 RADIALGRADIENT, 1186 ANIMATETRANSFORM, 1187 CARTESIANPRODUCT, 1188 FONT_FACE_FORMAT, 1189 FECONVOLVEMATRIX, 1190 FEDIFFUSELIGHTING, 1191 FEDISPLACEMENTMAP, 1192 FESPECULARLIGHTING, 1193 DOMAINOFAPPLICATION, 1194 FECOMPONENTTRANSFER, 1195 }; 1196 private final static int[] ELEMENT_HASHES = { 1197 1057, 1198 1090, 1199 1255, 1200 1321, 1201 1552, 1202 1585, 1203 1651, 1204 1717, 1205 68162, 1206 68899, 1207 69059, 1208 69764, 1209 70020, 1210 70276, 1211 71077, 1212 71205, 1213 72134, 1214 72232, 1215 72264, 1216 72296, 1217 72328, 1218 72360, 1219 72392, 1220 73351, 1221 74312, 1222 75209, 1223 78124, 1224 78284, 1225 78476, 1226 79149, 1227 79309, 1228 79341, 1229 79469, 1230 81295, 1231 81487, 1232 82224, 1233 84498, 1234 84626, 1235 86164, 1236 86292, 1237 86612, 1238 86676, 1239 87445, 1240 3183041, 1241 3186241, 1242 3198017, 1243 3218722, 1244 3226754, 1245 3247715, 1246 3256803, 1247 3263971, 1248 3264995, 1249 3289252, 1250 3291332, 1251 3295524, 1252 3299620, 1253 3326725, 1254 3379303, 1255 3392679, 1256 3448233, 1257 3460553, 1258 3461577, 1259 3510347, 1260 3546604, 1261 3552364, 1262 3556524, 1263 3576461, 1264 3586349, 1265 3588141, 1266 3590797, 1267 3596333, 1268 3622062, 1269 3625454, 1270 3627054, 1271 3675728, 1272 3749042, 1273 3771059, 1274 3771571, 1275 3776211, 1276 3782323, 1277 3782963, 1278 3784883, 1279 3785395, 1280 3788979, 1281 3815476, 1282 3839605, 1283 3885110, 1284 3917911, 1285 3948984, 1286 3951096, 1287 135304769, 1288 135858241, 1289 136498210, 1290 136906434, 1291 137138658, 1292 137512995, 1293 137531875, 1294 137548067, 1295 137629283, 1296 137645539, 1297 137646563, 1298 137775779, 1299 138529956, 1300 138615076, 1301 139040932, 1302 140954086, 1303 141179366, 1304 141690439, 1305 142738600, 1306 143013512, 1307 146979116, 1308 147175724, 1309 147475756, 1310 147902637, 1311 147936877, 1312 148017645, 1313 148131885, 1314 148228141, 1315 148229165, 1316 148309165, 1317 148395629, 1318 148551853, 1319 148618829, 1320 149076462, 1321 149490158, 1322 149572782, 1323 151277616, 1324 151639440, 1325 153268914, 1326 153486514, 1327 153563314, 1328 153750706, 1329 153763314, 1330 153914034, 1331 154406067, 1332 154417459, 1333 154600979, 1334 154678323, 1335 154680979, 1336 154866835, 1337 155366708, 1338 155375188, 1339 155391572, 1340 155465780, 1341 155869364, 1342 158045494, 1343 168988979, 1344 169321621, 1345 169652752, 1346 173151309, 1347 174240818, 1348 174247297, 1349 174669292, 1350 175391532, 1351 176638123, 1352 177380397, 1353 177879204, 1354 177886734, 1355 180753473, 1356 181020073, 1357 181503558, 1358 181686320, 1359 181999237, 1360 181999311, 1361 182048201, 1362 182074866, 1363 182078003, 1364 182083764, 1365 182920847, 1366 184716457, 1367 184976961, 1368 185145071, 1369 187281445, 1370 187872052, 1371 188100653, 1372 188875944, 1373 188919873, 1374 188920457, 1375 189107250, 1376 189203987, 1377 189371817, 1378 189414886, 1379 189567458, 1380 190266670, 1381 191318187, 1382 191337609, 1383 202479203, 1384 202493027, 1385 202835587, 1386 202843747, 1387 203013219, 1388 203036048, 1389 203045987, 1390 203177552, 1391 203898516, 1392 204648562, 1393 205067918, 1394 205078130, 1395 205096654, 1396 205689142, 1397 205690439, 1398 205988909, 1399 207213161, 1400 207794484, 1401 207800999, 1402 208023602, 1403 208213644, 1404 208213647, 1405 210261490, 1406 210310273, 1407 210940978, 1408 213325049, 1409 213946445, 1410 214055079, 1411 215125040, 1412 215134273, 1413 215135028, 1414 215237420, 1415 215418148, 1416 215553166, 1417 215553394, 1418 215563858, 1419 215627949, 1420 215754324, 1421 217529652, 1422 217713834, 1423 217732628, 1424 218731945, 1425 221417045, 1426 221424946, 1427 221493746, 1428 221515401, 1429 221658189, 1430 221908140, 1431 221910626, 1432 221921586, 1433 222659762, 1434 225001091, 1435 236105833, 1436 236113965, 1437 236194995, 1438 236195427, 1439 236206132, 1440 236206387, 1441 236211683, 1442 236212707, 1443 236381647, 1444 236571826, 1445 237124271, 1446 238172205, 1447 238210544, 1448 238270764, 1449 238435405, 1450 238501172, 1451 239224867, 1452 239257644, 1453 239710497, 1454 240307721, 1455 241208789, 1456 241241557, 1457 241318060, 1458 241319404, 1459 241343533, 1460 241344069, 1461 241405397, 1462 241765845, 1463 243864964, 1464 244502085, 1465 244946220, 1466 245109902, 1467 247647266, 1468 247707956, 1469 248648814, 1470 248648836, 1471 248682161, 1472 248986932, 1473 249058914, 1474 249697357, 1475 252132601, 1476 252135604, 1477 252317348, 1478 255007012, 1479 255278388, 1480 255641645, 1481 256365156, 1482 257566121, 1483 269763372, 1484 271202790, 1485 271863856, 1486 272049197, 1487 272127474, 1488 274339449, 1489 274939471, 1490 275388004, 1491 275388005, 1492 275388006, 1493 275977800, 1494 278267602, 1495 278513831, 1496 278712622, 1497 281613765, 1498 281683369, 1499 282120228, 1500 282250732, 1501 282508942, 1502 283743649, 1503 283787570, 1504 284710386, 1505 285391148, 1506 285478533, 1507 285854898, 1508 285873762, 1509 286931113, 1510 288964227, 1511 289445441, 1512 289689648, 1513 291671489, 1514 303512884, 1515 305319975, 1516 305610036, 1517 305764101, 1518 308448294, 1519 308675890, 1520 312085683, 1521 312264750, 1522 315032867, 1523 316391000, 1524 317331042, 1525 317902135, 1526 318950711, 1527 319447220, 1528 321499182, 1529 322538804, 1530 323145200, 1531 337067316, 1532 337826293, 1533 339905989, 1534 340833697, 1535 341457068, 1536 342310196, 1537 345302593, 1538 349554733, 1539 349771471, 1540 349786245, 1541 350819405, 1542 356072847, 1543 370349192, 1544 373962798, 1545 375558638, 1546 375574835, 1547 376053993, 1548 383276530, 1549 383373833, 1550 383407586, 1551 384439906, 1552 386079012, 1553 404133513, 1554 404307343, 1555 407031852, 1556 408072233, 1557 409112005, 1558 409608425, 1559 409771500, 1560 419040932, 1561 437730612, 1562 439529766, 1563 442616365, 1564 442813037, 1565 443157674, 1566 443295316, 1567 450118444, 1568 450482697, 1569 456789668, 1570 459935396, 1571 471217869, 1572 474073645, 1573 476230702, 1574 476665218, 1575 476717289, 1576 483014825, 1577 485083298, 1578 489306281, 1579 538364390, 1580 540675748, 1581 543819186, 1582 543958612, 1583 576960820, 1584 577242548, 1585 610515252, 1586 642202932, 1587 644420819, 1588 }; 1589 }