2 * Copyright (c) 2008-2017 Mozilla Foundation
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
19 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
20 * DEALINGS IN THE SOFTWARE.
23 package nu
.validator
.htmlparser
.impl
;
25 // uncomment to regenerate self
26 //import java.io.BufferedReader;
27 //import java.io.File;
28 //import java.io.FileInputStream;
29 //import java.io.IOException;
30 //import java.io.InputStreamReader;
31 //import java.util.Arrays;
32 //import java.util.Collections;
33 //import java.util.HashMap;
34 //import java.util.LinkedList;
35 //import java.util.List;
36 //import java.util.Map;
37 //import java.util.Map.Entry;
38 //import java.util.regex.Matcher;
39 //import java.util.regex.Pattern;
41 import nu
.validator
.htmlparser
.annotation
.Inline
;
42 import nu
.validator
.htmlparser
.annotation
.Local
;
43 import nu
.validator
.htmlparser
.annotation
.NoLength
;
44 import nu
.validator
.htmlparser
.annotation
.Unsigned
;
45 import nu
.validator
.htmlparser
.common
.Interner
;
47 public final class ElementName
48 // uncomment when regenerating self
49 // implements Comparable<ElementName>
53 * The mask for extracting the dispatch group.
55 public static final int GROUP_MASK
= 127;
58 * Indicates that the element is not a pre-interned element. Forbidden on
59 * preinterned elements.
61 public static final int NOT_INTERNED
= (1 << 30);
64 * Indicates that the element is in the "special" category. This bit should
65 * not be pre-set on MathML or SVG specials--only on HTML specials.
67 public static final int SPECIAL
= (1 << 29);
70 * The element is foster-parenting. This bit should be pre-set on elements
71 * that are foster-parenting as HTML.
73 public static final int FOSTER_PARENTING
= (1 << 28);
76 * The element is scoping. This bit should be pre-set on elements that are
79 public static final int SCOPING
= (1 << 27);
82 * The element is scoping as SVG.
84 public static final int SCOPING_AS_SVG
= (1 << 26);
87 * The element is scoping as MathML.
89 public static final int SCOPING_AS_MATHML
= (1 << 25);
92 * The element is an HTML integration point.
94 public static final int HTML_INTEGRATION_POINT
= (1 << 24);
97 * The element has an optional end tag.
99 public static final int OPTIONAL_END_TAG
= (1 << 23);
101 private @Local String name
;
103 private @Local String camelCaseName
;
105 // CPPONLY: private @HtmlCreator Object htmlCreator;
107 // CPPONLY: private @SvgCreator Object svgCreator;
110 * The lowest 7 bits are the dispatch group. The high bits are flags.
112 public final int flags
;
114 @Inline public @Local String
getName() {
118 @Inline public @Local String
getCamelCaseName() {
119 return camelCaseName
;
122 // CPPONLY: @Inline public @HtmlCreator Object getHtmlCreator() {
123 // CPPONLY: return htmlCreator;
126 // CPPONLY: @Inline public @SvgCreator Object getSvgCreator() {
127 // CPPONLY: return svgCreator;
130 @Inline public int getFlags() {
134 @Inline public int getGroup() {
135 return flags
& ElementName
.GROUP_MASK
;
138 @Inline public boolean isInterned() {
139 return (flags
& ElementName
.NOT_INTERNED
) == 0;
142 @Inline static int levelOrderBinarySearch(int[] data
, int key
) {
150 } else if (val
> key
) {
160 @Inline static ElementName
elementNameByBuffer(@NoLength char[] buf
,
161 int length
, Interner interner
) {
162 @Unsigned int hash
= ElementName
.bufToHash(buf
, length
);
164 hashes
= ElementName
.ELEMENT_HASHES
;
165 int index
= levelOrderBinarySearch(hashes
, hash
);
169 ElementName elementName
= ElementName
.ELEMENT_NAMES
[index
];
170 @Local String name
= elementName
.name
;
171 if (!Portability
.localEqualsBuffer(name
, buf
, length
)) {
179 * This method has to return a unique positive integer for each well-known
180 * lower-cased element name.
186 @Inline private static @Unsigned int bufToHash(@NoLength char[] buf
,
188 @Unsigned int len
= length
;
189 @Unsigned int first
= buf
[0];
191 @Unsigned int second
= 1 << 23;
192 @Unsigned int third
= 0;
193 @Unsigned int fourth
= 0;
194 @Unsigned int fifth
= 0;
196 second
= buf
[length
- 4];
198 third
= buf
[length
- 3];
200 fourth
= buf
[length
- 2];
202 fifth
= buf
[length
- 1];
204 } else if (length
== 3) {
209 } else if (length
== 2) {
213 return len
+ first
+ second
+ third
+ fourth
+ fifth
;
216 private ElementName(@Local String name
, @Local String camelCaseName
,
217 // CPPONLY: @HtmlCreator Object htmlCreator, @SvgCreator Object
218 // CPPONLY: svgCreator,
221 this.camelCaseName
= camelCaseName
;
222 // CPPONLY: this.htmlCreator = htmlCreator;
223 // CPPONLY: this.svgCreator = svgCreator;
227 public ElementName() {
229 this.camelCaseName
= null;
230 // CPPONLY: this.htmlCreator = NS_NewHTMLUnknownElement;
231 // CPPONLY: this.svgCreator = NS_NewSVGUnknownElement;
232 this.flags
= TreeBuilder
.OTHER
| NOT_INTERNED
;
235 public void destructor() {
236 // The translator adds refcount debug code here.
239 @Inline public void setNameForNonInterned(@Local String name
240 // CPPONLY: , boolean custom
242 // No need to worry about refcounting the local name, because in the
243 // C++ case the scoped atom table remembers its own atoms.
245 this.camelCaseName
= name
;
246 // CPPONLY: if (custom) {
247 // CPPONLY: this.htmlCreator = NS_NewCustomElement;
249 // CPPONLY: this.htmlCreator = NS_NewHTMLUnknownElement;
251 // The assertion below relies on TreeBuilder.OTHER being zero!
252 // TreeBuilder.OTHER isn't referenced here, because it would create
253 // a circular C++ header dependency given that this method is inlined.
254 assert this.flags
== ElementName
.NOT_INTERNED
;
257 // CPPONLY: @Inline public boolean isCustom() {
258 // CPPONLY: return this.htmlCreator == NS_NewCustomElement;
261 public static final ElementName ANNOTATION_XML
= new ElementName(
262 "annotation-xml", "annotation-xml",
263 // CPPONLY: NS_NewHTMLUnknownElement, NS_NewSVGUnknownElement,
264 TreeBuilder
.ANNOTATION_XML
| SCOPING_AS_MATHML
);
266 // START CODE ONLY USED FOR GENERATING CODE uncomment and run to regenerate
268 // private static final Pattern HTML_TAG_DEF = Pattern.compile(
269 // "^HTML_TAG\\(([^,]+),\\s*([^,]+),\\s*[^,]+\\).*$");
271 // private static final Pattern HTML_HTMLELEMENT_TAG_DEF = Pattern.compile(
272 // "^HTML_HTMLELEMENT_TAG\\(([^\\)]+)\\).*$");
274 // private static final Pattern SVG_TAG_DEF = Pattern.compile(
275 // "^SVG_(?:FROM_PARSER_)?TAG\\(([^,]+),\\s*([^\\)]+)\\).*$");
277 // private static final Map<String, String> htmlMap = new HashMap<String, String>();
279 // private static final Map<String, String> svgMap = new HashMap<String, String>();
281 // private static void ingestHtmlTags(File htmlList) throws IOException {
282 // // This doesn't need to be efficient, so let's make it easy to write.
283 // BufferedReader htmlReader = new BufferedReader(
284 // new InputStreamReader(new FileInputStream(htmlList), "utf-8"));
287 // while ((line = htmlReader.readLine()) != null) {
288 // if (!line.startsWith("HTML_")) {
291 // if (line.startsWith("HTML_OTHER")) {
294 // Matcher m = HTML_TAG_DEF.matcher(line);
295 // if (m.matches()) {
296 // String iface = m.group(2);
297 // if ("Unknown".equals(iface)) {
300 // htmlMap.put(m.group(1), "NS_NewHTML" + iface + "Element");
302 // m = HTML_HTMLELEMENT_TAG_DEF.matcher(line);
303 // if (!m.matches()) {
304 // throw new RuntimeException(
305 // "Malformed HTML element definition: " + line);
307 // htmlMap.put(m.group(1), "NS_NewHTMLElement");
311 // htmlReader.close();
315 // private static void ingestSvgTags(File svgList) throws IOException {
316 // // This doesn't need to be efficient, so let's make it easy to write.
317 // BufferedReader svgReader = new BufferedReader(
318 // new InputStreamReader(new FileInputStream(svgList), "utf-8"));
321 // while ((line = svgReader.readLine()) != null) {
322 // if (!line.startsWith("SVG_")) {
325 // Matcher m = SVG_TAG_DEF.matcher(line);
326 // if (!m.matches()) {
327 // throw new RuntimeException(
328 // "Malformed SVG element definition: " + line);
330 // String name = m.group(1);
331 // if ("svgSwitch".equals(name)) {
334 // svgMap.put(name, "NS_NewSVG" + m.group(2) + "Element");
337 // svgReader.close();
341 // private static String htmlCreator(String name) {
342 // String creator = htmlMap.remove(name);
343 // if (creator != null) {
346 // return "NS_NewHTMLUnknownElement";
349 // private static String svgCreator(String name) {
350 // String creator = svgMap.remove(name);
351 // if (creator != null) {
354 // return "NS_NewSVGUnknownElement";
358 // * @see java.lang.Object#toString()
360 // @Override public String toString() {
361 // return "(\"" + name + "\", \"" + camelCaseName + "\", \n// CPP"
362 // + "ONLY: " + htmlCreator(name) + ",\n// CPP" + "ONLY: "
363 // + svgCreator(camelCaseName) + ", \n" + decomposedFlags() + ")";
366 // private String decomposedFlags() {
367 // StringBuilder buf = new StringBuilder("TreeBuilder.");
368 // buf.append(treeBuilderGroupToName());
369 // if ((flags & SPECIAL) != 0) {
370 // buf.append(" | SPECIAL");
372 // if ((flags & FOSTER_PARENTING) != 0) {
373 // buf.append(" | FOSTER_PARENTING");
375 // if ((flags & SCOPING) != 0) {
376 // buf.append(" | SCOPING");
378 // if ((flags & SCOPING_AS_MATHML) != 0) {
379 // buf.append(" | SCOPING_AS_MATHML");
381 // if ((flags & SCOPING_AS_SVG) != 0) {
382 // buf.append(" | SCOPING_AS_SVG");
384 // if ((flags & OPTIONAL_END_TAG) != 0) {
385 // buf.append(" | OPTIONAL_END_TAG");
387 // return buf.toString();
390 // private String constName() {
391 // char[] buf = new char[name.length()];
392 // for (int i = 0; i < name.length(); i++) {
393 // char c = name.charAt(i);
395 // if (!"annotation-xml".equals(name)) {
396 // throw new RuntimeException(
397 // "Non-annotation-xml element name with hyphen: "
401 // } else if (c >= '0' && c <= '9') {
404 // buf[i] = (char) (c - 0x20);
407 // return new String(buf);
410 // private int hash() {
411 // return bufToHash(name.toCharArray(), name.length());
414 // public int compareTo(ElementName other) {
415 // int thisHash = this.hash();
416 // int otherHash = other.hash();
417 // if (thisHash < otherHash) {
419 // } else if (thisHash == otherHash) {
426 // private String treeBuilderGroupToName() {
427 // switch (getGroup()) {
428 // case TreeBuilder.OTHER:
430 // case TreeBuilder.A:
432 // case TreeBuilder.BASE:
434 // case TreeBuilder.BODY:
436 // case TreeBuilder.BR:
438 // case TreeBuilder.BUTTON:
440 // case TreeBuilder.CAPTION:
442 // case TreeBuilder.COL:
444 // case TreeBuilder.COLGROUP:
445 // return "COLGROUP";
446 // case TreeBuilder.FONT:
448 // case TreeBuilder.FORM:
450 // case TreeBuilder.FRAME:
452 // case TreeBuilder.FRAMESET:
453 // return "FRAMESET";
454 // case TreeBuilder.IMAGE:
456 // case TreeBuilder.INPUT:
458 // case TreeBuilder.LI:
460 // case TreeBuilder.LINK_OR_BASEFONT_OR_BGSOUND:
461 // return "LINK_OR_BASEFONT_OR_BGSOUND";
462 // case TreeBuilder.MATH:
464 // case TreeBuilder.META:
466 // case TreeBuilder.SVG:
468 // case TreeBuilder.HEAD:
470 // case TreeBuilder.HR:
472 // case TreeBuilder.HTML:
474 // case TreeBuilder.KEYGEN:
476 // case TreeBuilder.NOBR:
478 // case TreeBuilder.NOFRAMES:
479 // return "NOFRAMES";
480 // case TreeBuilder.NOSCRIPT:
481 // return "NOSCRIPT";
482 // case TreeBuilder.OPTGROUP:
483 // return "OPTGROUP";
484 // case TreeBuilder.OPTION:
486 // case TreeBuilder.P:
488 // case TreeBuilder.PLAINTEXT:
489 // return "PLAINTEXT";
490 // case TreeBuilder.SCRIPT:
492 // case TreeBuilder.SELECT:
494 // case TreeBuilder.STYLE:
496 // case TreeBuilder.TABLE:
498 // case TreeBuilder.TEXTAREA:
499 // return "TEXTAREA";
500 // case TreeBuilder.TITLE:
502 // case TreeBuilder.TEMPLATE:
503 // return "TEMPLATE";
504 // case TreeBuilder.TR:
506 // case TreeBuilder.XMP:
508 // case TreeBuilder.TBODY_OR_THEAD_OR_TFOOT:
509 // return "TBODY_OR_THEAD_OR_TFOOT";
510 // case TreeBuilder.TD_OR_TH:
511 // return "TD_OR_TH";
512 // case TreeBuilder.DD_OR_DT:
513 // return "DD_OR_DT";
514 // case TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6:
515 // return "H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6";
516 // case TreeBuilder.OBJECT:
518 // case TreeBuilder.OUTPUT:
520 // case TreeBuilder.MARQUEE_OR_APPLET:
521 // return "MARQUEE_OR_APPLET";
522 // case TreeBuilder.PRE_OR_LISTING:
523 // return "PRE_OR_LISTING";
524 // case TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U:
525 // return "B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U";
526 // case TreeBuilder.UL_OR_OL_OR_DL:
527 // return "UL_OR_OL_OR_DL";
528 // case TreeBuilder.IFRAME:
530 // case TreeBuilder.NOEMBED:
532 // case TreeBuilder.EMBED:
534 // case TreeBuilder.IMG:
536 // case TreeBuilder.AREA_OR_WBR:
537 // return "AREA_OR_WBR";
538 // case TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU:
539 // return "DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU";
540 // case TreeBuilder.FIELDSET:
541 // return "FIELDSET";
542 // case TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY:
543 // return "ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY";
544 // case TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR:
545 // return "RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR";
546 // case TreeBuilder.RB_OR_RTC:
547 // return "RB_OR_RTC";
548 // case TreeBuilder.RT_OR_RP:
549 // return "RT_OR_RP";
550 // case TreeBuilder.PARAM_OR_SOURCE_OR_TRACK:
551 // return "PARAM_OR_SOURCE_OR_TRACK";
552 // case TreeBuilder.MGLYPH_OR_MALIGNMARK:
553 // return "MGLYPH_OR_MALIGNMARK";
554 // case TreeBuilder.MI_MO_MN_MS_MTEXT:
555 // return "MI_MO_MN_MS_MTEXT";
556 // case TreeBuilder.ANNOTATION_XML:
557 // return "ANNOTATION_XML";
558 // case TreeBuilder.FOREIGNOBJECT_OR_DESC:
559 // return "FOREIGNOBJECT_OR_DESC";
564 // private static void fillLevelOrderArray(List<ElementName> sorted, int depth,
565 // int rootIdx, ElementName[] levelOrder) {
566 // if (rootIdx >= levelOrder.length) {
571 // fillLevelOrderArray(sorted, depth - 1, rootIdx * 2 + 1, levelOrder);
574 // if (!sorted.isEmpty()) {
575 // levelOrder[rootIdx] = sorted.remove(0);
579 // fillLevelOrderArray(sorted, depth - 1, rootIdx * 2 + 2, levelOrder);
586 // * The args should be the paths to m-c files
587 // * parser/htmlparser/nsHTMLTagList.h and dom/svg/SVGTagList.h.
589 // public static void main(String[] args) {
590 // File htmlList = new File(args[0]);
591 // File svgList = new File(args[1]);
593 // ingestHtmlTags(htmlList);
594 // } catch (IOException e) {
595 // throw new RuntimeException(e);
598 // ingestSvgTags(svgList);
599 // } catch (IOException e) {
600 // throw new RuntimeException(e);
603 // Arrays.sort(ELEMENT_NAMES);
604 // for (int i = 0; i < ELEMENT_NAMES.length; i++) {
605 // int hash = ELEMENT_NAMES[i].hash();
607 // System.err.println("Negative hash: " + ELEMENT_NAMES[i].name);
610 // for (int j = i + 1; j < ELEMENT_NAMES.length; j++) {
611 // if (hash == ELEMENT_NAMES[j].hash()) {
612 // System.err.println(
613 // "Hash collision: " + ELEMENT_NAMES[i].name + ", "
614 // + ELEMENT_NAMES[j].name);
619 // for (int i = 0; i < ELEMENT_NAMES.length; i++) {
620 // ElementName el = ELEMENT_NAMES[i];
621 // System.out.println(
622 // "public static final ElementName " + el.constName()
623 // + " = new ElementName" + el.toString() + ";");
626 // LinkedList<ElementName> sortedNames = new LinkedList<ElementName>();
627 // Collections.addAll(sortedNames, ELEMENT_NAMES);
628 // ElementName[] levelOrder = new ElementName[ELEMENT_NAMES.length];
629 // int bstDepth = (int) Math.ceil(
630 // Math.log(ELEMENT_NAMES.length) / Math.log(2));
631 // fillLevelOrderArray(sortedNames, bstDepth, 0, levelOrder);
633 // System.out.println(
634 // "private final static @NoLength ElementName[] ELEMENT_NAMES = {");
635 // for (int i = 0; i < levelOrder.length; i++) {
636 // ElementName el = levelOrder[i];
637 // System.out.println(el.constName() + ",");
639 // System.out.println("};");
640 // System.out.println("private final static int[] ELEMENT_HASHES = {");
641 // for (int i = 0; i < levelOrder.length; i++) {
642 // ElementName el = levelOrder[i];
643 // System.out.println(Integer.toString(el.hash()) + ",");
645 // System.out.println("};");
647 // for (Entry<String, String> entry : htmlMap.entrySet()) {
648 // System.err.println("Missing HTML element: " + entry.getKey());
650 // for (Entry<String, String> entry : svgMap.entrySet()) {
651 // System.err.println("Missing SVG element: " + entry.getKey());
655 // START GENERATED CODE
656 public static final ElementName BIG
= new ElementName("big", "big",
657 // CPPONLY: NS_NewHTMLElement,
658 // CPPONLY: NS_NewSVGUnknownElement,
659 TreeBuilder
.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U
);
660 public static final ElementName BDI
= new ElementName("bdi", "bdi",
661 // CPPONLY: NS_NewHTMLElement,
662 // CPPONLY: NS_NewSVGUnknownElement,
664 public static final ElementName BDO
= new ElementName("bdo", "bdo",
665 // CPPONLY: NS_NewHTMLElement,
666 // CPPONLY: NS_NewSVGUnknownElement,
668 public static final ElementName COL
= new ElementName("col", "col",
669 // CPPONLY: NS_NewHTMLTableColElement,
670 // CPPONLY: NS_NewSVGUnknownElement,
671 TreeBuilder
.COL
| SPECIAL
);
672 public static final ElementName DEL
= new ElementName("del", "del",
673 // CPPONLY: NS_NewHTMLModElement,
674 // CPPONLY: NS_NewSVGUnknownElement,
676 public static final ElementName DFN
= new ElementName("dfn", "dfn",
677 // CPPONLY: NS_NewHTMLElement,
678 // CPPONLY: NS_NewSVGUnknownElement,
680 public static final ElementName DIR
= new ElementName("dir", "dir",
681 // CPPONLY: NS_NewHTMLSharedElement,
682 // CPPONLY: NS_NewSVGUnknownElement,
683 TreeBuilder
.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY
| SPECIAL
);
684 public static final ElementName DIV
= new ElementName("div", "div",
685 // CPPONLY: NS_NewHTMLDivElement,
686 // CPPONLY: NS_NewSVGUnknownElement,
687 TreeBuilder
.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU
| SPECIAL
);
688 public static final ElementName IMG
= new ElementName("img", "img",
689 // CPPONLY: NS_NewHTMLImageElement,
690 // CPPONLY: NS_NewSVGUnknownElement,
691 TreeBuilder
.IMG
| SPECIAL
);
692 public static final ElementName INS
= new ElementName("ins", "ins",
693 // CPPONLY: NS_NewHTMLModElement,
694 // CPPONLY: NS_NewSVGUnknownElement,
696 public static final ElementName KBD
= new ElementName("kbd", "kbd",
697 // CPPONLY: NS_NewHTMLElement,
698 // CPPONLY: NS_NewSVGUnknownElement,
700 public static final ElementName MAP
= new ElementName("map", "map",
701 // CPPONLY: NS_NewHTMLMapElement,
702 // CPPONLY: NS_NewSVGUnknownElement,
704 public static final ElementName NAV
= new ElementName("nav", "nav",
705 // CPPONLY: NS_NewHTMLElement,
706 // CPPONLY: NS_NewSVGUnknownElement,
707 TreeBuilder
.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY
| SPECIAL
);
708 public static final ElementName PRE
= new ElementName("pre", "pre",
709 // CPPONLY: NS_NewHTMLPreElement,
710 // CPPONLY: NS_NewSVGUnknownElement,
711 TreeBuilder
.PRE_OR_LISTING
| SPECIAL
);
712 public static final ElementName A
= new ElementName("a", "a",
713 // CPPONLY: NS_NewHTMLAnchorElement,
714 // CPPONLY: NS_NewSVGAElement,
716 public static final ElementName B
= new ElementName("b", "b",
717 // CPPONLY: NS_NewHTMLElement,
718 // CPPONLY: NS_NewSVGUnknownElement,
719 TreeBuilder
.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U
);
720 public static final ElementName RTC
= new ElementName("rtc", "rtc",
721 // CPPONLY: NS_NewHTMLElement,
722 // CPPONLY: NS_NewSVGUnknownElement,
723 TreeBuilder
.RB_OR_RTC
| OPTIONAL_END_TAG
);
724 public static final ElementName SUB
= new ElementName("sub", "sub",
725 // CPPONLY: NS_NewHTMLElement,
726 // CPPONLY: NS_NewSVGUnknownElement,
727 TreeBuilder
.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR
);
728 public static final ElementName SVG
= new ElementName("svg", "svg",
729 // CPPONLY: NS_NewHTMLUnknownElement,
730 // CPPONLY: NS_NewSVGSVGElement,
732 public static final ElementName SUP
= new ElementName("sup", "sup",
733 // CPPONLY: NS_NewHTMLElement,
734 // CPPONLY: NS_NewSVGUnknownElement,
735 TreeBuilder
.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR
);
736 public static final ElementName SET
= new ElementName("set", "set",
737 // CPPONLY: NS_NewHTMLUnknownElement,
738 // CPPONLY: NS_NewSVGSetElement,
740 public static final ElementName USE
= new ElementName("use", "use",
741 // CPPONLY: NS_NewHTMLUnknownElement,
742 // CPPONLY: NS_NewSVGUseElement,
744 public static final ElementName VAR
= new ElementName("var", "var",
745 // CPPONLY: NS_NewHTMLElement,
746 // CPPONLY: NS_NewSVGUnknownElement,
747 TreeBuilder
.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR
);
748 public static final ElementName G
= new ElementName("g", "g",
749 // CPPONLY: NS_NewHTMLUnknownElement,
750 // CPPONLY: NS_NewSVGGElement,
752 public static final ElementName WBR
= new ElementName("wbr", "wbr",
753 // CPPONLY: NS_NewHTMLElement,
754 // CPPONLY: NS_NewSVGUnknownElement,
755 TreeBuilder
.AREA_OR_WBR
| SPECIAL
);
756 public static final ElementName XMP
= new ElementName("xmp", "xmp",
757 // CPPONLY: NS_NewHTMLPreElement,
758 // CPPONLY: NS_NewSVGUnknownElement,
759 TreeBuilder
.XMP
| SPECIAL
);
760 public static final ElementName I
= new ElementName("i", "i",
761 // CPPONLY: NS_NewHTMLElement,
762 // CPPONLY: NS_NewSVGUnknownElement,
763 TreeBuilder
.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U
);
764 public static final ElementName P
= new ElementName("p", "p",
765 // CPPONLY: NS_NewHTMLParagraphElement,
766 // CPPONLY: NS_NewSVGUnknownElement,
767 TreeBuilder
.P
| SPECIAL
| OPTIONAL_END_TAG
);
768 public static final ElementName Q
= new ElementName("q", "q",
769 // CPPONLY: NS_NewHTMLSharedElement,
770 // CPPONLY: NS_NewSVGUnknownElement,
772 public static final ElementName S
= new ElementName("s", "s",
773 // CPPONLY: NS_NewHTMLElement,
774 // CPPONLY: NS_NewSVGUnknownElement,
775 TreeBuilder
.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U
);
776 public static final ElementName U
= new ElementName("u", "u",
777 // CPPONLY: NS_NewHTMLElement,
778 // CPPONLY: NS_NewSVGUnknownElement,
779 TreeBuilder
.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U
);
780 public static final ElementName H1
= new ElementName("h1", "h1",
781 // CPPONLY: NS_NewHTMLHeadingElement,
782 // CPPONLY: NS_NewSVGUnknownElement,
783 TreeBuilder
.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6
| SPECIAL
);
784 public static final ElementName H2
= new ElementName("h2", "h2",
785 // CPPONLY: NS_NewHTMLHeadingElement,
786 // CPPONLY: NS_NewSVGUnknownElement,
787 TreeBuilder
.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6
| SPECIAL
);
788 public static final ElementName H3
= new ElementName("h3", "h3",
789 // CPPONLY: NS_NewHTMLHeadingElement,
790 // CPPONLY: NS_NewSVGUnknownElement,
791 TreeBuilder
.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6
| SPECIAL
);
792 public static final ElementName H4
= new ElementName("h4", "h4",
793 // CPPONLY: NS_NewHTMLHeadingElement,
794 // CPPONLY: NS_NewSVGUnknownElement,
795 TreeBuilder
.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6
| SPECIAL
);
796 public static final ElementName H5
= new ElementName("h5", "h5",
797 // CPPONLY: NS_NewHTMLHeadingElement,
798 // CPPONLY: NS_NewSVGUnknownElement,
799 TreeBuilder
.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6
| SPECIAL
);
800 public static final ElementName H6
= new ElementName("h6", "h6",
801 // CPPONLY: NS_NewHTMLHeadingElement,
802 // CPPONLY: NS_NewSVGUnknownElement,
803 TreeBuilder
.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6
| SPECIAL
);
804 public static final ElementName AREA
= new ElementName("area", "area",
805 // CPPONLY: NS_NewHTMLAreaElement,
806 // CPPONLY: NS_NewSVGUnknownElement,
807 TreeBuilder
.AREA_OR_WBR
| SPECIAL
);
808 public static final ElementName DATA
= new ElementName("data", "data",
809 // CPPONLY: NS_NewHTMLDataElement,
810 // CPPONLY: NS_NewSVGUnknownElement,
812 public static final ElementName FEFUNCA
= new ElementName("fefunca", "feFuncA",
813 // CPPONLY: NS_NewHTMLUnknownElement,
814 // CPPONLY: NS_NewSVGFEFuncAElement,
816 public static final ElementName METADATA
= new ElementName("metadata", "metadata",
817 // CPPONLY: NS_NewHTMLUnknownElement,
818 // CPPONLY: NS_NewSVGMetadataElement,
820 public static final ElementName META
= new ElementName("meta", "meta",
821 // CPPONLY: NS_NewHTMLMetaElement,
822 // CPPONLY: NS_NewSVGUnknownElement,
823 TreeBuilder
.META
| SPECIAL
);
824 public static final ElementName TEXTAREA
= new ElementName("textarea", "textarea",
825 // CPPONLY: NS_NewHTMLTextAreaElement,
826 // CPPONLY: NS_NewSVGUnknownElement,
827 TreeBuilder
.TEXTAREA
| SPECIAL
);
828 public static final ElementName FEFUNCB
= new ElementName("fefuncb", "feFuncB",
829 // CPPONLY: NS_NewHTMLUnknownElement,
830 // CPPONLY: NS_NewSVGFEFuncBElement,
832 public static final ElementName RB
= new ElementName("rb", "rb",
833 // CPPONLY: NS_NewHTMLElement,
834 // CPPONLY: NS_NewSVGUnknownElement,
835 TreeBuilder
.RB_OR_RTC
| OPTIONAL_END_TAG
);
836 public static final ElementName DESC
= new ElementName("desc", "desc",
837 // CPPONLY: NS_NewHTMLUnknownElement,
838 // CPPONLY: NS_NewSVGDescElement,
839 TreeBuilder
.FOREIGNOBJECT_OR_DESC
| SCOPING_AS_SVG
);
840 public static final ElementName DD
= new ElementName("dd", "dd",
841 // CPPONLY: NS_NewHTMLElement,
842 // CPPONLY: NS_NewSVGUnknownElement,
843 TreeBuilder
.DD_OR_DT
| SPECIAL
| OPTIONAL_END_TAG
);
844 public static final ElementName BGSOUND
= new ElementName("bgsound", "bgsound",
845 // CPPONLY: NS_NewHTMLUnknownElement,
846 // CPPONLY: NS_NewSVGUnknownElement,
847 TreeBuilder
.LINK_OR_BASEFONT_OR_BGSOUND
| SPECIAL
);
848 public static final ElementName EMBED
= new ElementName("embed", "embed",
849 // CPPONLY: NS_NewHTMLEmbedElement,
850 // CPPONLY: NS_NewSVGUnknownElement,
851 TreeBuilder
.EMBED
| SPECIAL
);
852 public static final ElementName FEBLEND
= new ElementName("feblend", "feBlend",
853 // CPPONLY: NS_NewHTMLUnknownElement,
854 // CPPONLY: NS_NewSVGFEBlendElement,
856 public static final ElementName FEFLOOD
= new ElementName("feflood", "feFlood",
857 // CPPONLY: NS_NewHTMLUnknownElement,
858 // CPPONLY: NS_NewSVGFEFloodElement,
860 public static final ElementName HEAD
= new ElementName("head", "head",
861 // CPPONLY: NS_NewHTMLSharedElement,
862 // CPPONLY: NS_NewSVGUnknownElement,
863 TreeBuilder
.HEAD
| SPECIAL
| OPTIONAL_END_TAG
);
864 public static final ElementName LEGEND
= new ElementName("legend", "legend",
865 // CPPONLY: NS_NewHTMLLegendElement,
866 // CPPONLY: NS_NewSVGUnknownElement,
868 public static final ElementName NOEMBED
= new ElementName("noembed", "noembed",
869 // CPPONLY: NS_NewHTMLElement,
870 // CPPONLY: NS_NewSVGUnknownElement,
871 TreeBuilder
.NOEMBED
| SPECIAL
);
872 public static final ElementName TD
= new ElementName("td", "td",
873 // CPPONLY: NS_NewHTMLTableCellElement,
874 // CPPONLY: NS_NewSVGUnknownElement,
875 TreeBuilder
.TD_OR_TH
| SPECIAL
| SCOPING
| OPTIONAL_END_TAG
);
876 public static final ElementName THEAD
= new ElementName("thead", "thead",
877 // CPPONLY: NS_NewHTMLTableSectionElement,
878 // CPPONLY: NS_NewSVGUnknownElement,
879 TreeBuilder
.TBODY_OR_THEAD_OR_TFOOT
| SPECIAL
| FOSTER_PARENTING
| OPTIONAL_END_TAG
);
880 public static final ElementName ASIDE
= new ElementName("aside", "aside",
881 // CPPONLY: NS_NewHTMLElement,
882 // CPPONLY: NS_NewSVGUnknownElement,
883 TreeBuilder
.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY
| SPECIAL
);
884 public static final ElementName ARTICLE
= new ElementName("article", "article",
885 // CPPONLY: NS_NewHTMLElement,
886 // CPPONLY: NS_NewSVGUnknownElement,
887 TreeBuilder
.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY
| SPECIAL
);
888 public static final ElementName ANIMATE
= new ElementName("animate", "animate",
889 // CPPONLY: NS_NewHTMLUnknownElement,
890 // CPPONLY: NS_NewSVGAnimateElement,
892 public static final ElementName BASE
= new ElementName("base", "base",
893 // CPPONLY: NS_NewHTMLSharedElement,
894 // CPPONLY: NS_NewSVGUnknownElement,
895 TreeBuilder
.BASE
| SPECIAL
);
896 public static final ElementName BLOCKQUOTE
= new ElementName("blockquote", "blockquote",
897 // CPPONLY: NS_NewHTMLSharedElement,
898 // CPPONLY: NS_NewSVGUnknownElement,
899 TreeBuilder
.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU
| SPECIAL
);
900 public static final ElementName CODE
= new ElementName("code", "code",
901 // CPPONLY: NS_NewHTMLElement,
902 // CPPONLY: NS_NewSVGUnknownElement,
903 TreeBuilder
.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U
);
904 public static final ElementName CIRCLE
= new ElementName("circle", "circle",
905 // CPPONLY: NS_NewHTMLUnknownElement,
906 // CPPONLY: NS_NewSVGCircleElement,
908 public static final ElementName CITE
= new ElementName("cite", "cite",
909 // CPPONLY: NS_NewHTMLElement,
910 // CPPONLY: NS_NewSVGUnknownElement,
912 public static final ElementName ELLIPSE
= new ElementName("ellipse", "ellipse",
913 // CPPONLY: NS_NewHTMLUnknownElement,
914 // CPPONLY: NS_NewSVGEllipseElement,
916 public static final ElementName FETURBULENCE
= new ElementName("feturbulence", "feTurbulence",
917 // CPPONLY: NS_NewHTMLUnknownElement,
918 // CPPONLY: NS_NewSVGFETurbulenceElement,
920 public static final ElementName FEMERGENODE
= new ElementName("femergenode", "feMergeNode",
921 // CPPONLY: NS_NewHTMLUnknownElement,
922 // CPPONLY: NS_NewSVGFEMergeNodeElement,
924 public static final ElementName FEIMAGE
= new ElementName("feimage", "feImage",
925 // CPPONLY: NS_NewHTMLUnknownElement,
926 // CPPONLY: NS_NewSVGFEImageElement,
928 public static final ElementName FEMERGE
= new ElementName("femerge", "feMerge",
929 // CPPONLY: NS_NewHTMLUnknownElement,
930 // CPPONLY: NS_NewSVGFEMergeElement,
932 public static final ElementName FETILE
= new ElementName("fetile", "feTile",
933 // CPPONLY: NS_NewHTMLUnknownElement,
934 // CPPONLY: NS_NewSVGFETileElement,
936 public static final ElementName FRAME
= new ElementName("frame", "frame",
937 // CPPONLY: NS_NewHTMLFrameElement,
938 // CPPONLY: NS_NewSVGUnknownElement,
939 TreeBuilder
.FRAME
| SPECIAL
);
940 public static final ElementName FIGURE
= new ElementName("figure", "figure",
941 // CPPONLY: NS_NewHTMLElement,
942 // CPPONLY: NS_NewSVGUnknownElement,
943 TreeBuilder
.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY
| SPECIAL
);
944 public static final ElementName FECOMPOSITE
= new ElementName("fecomposite", "feComposite",
945 // CPPONLY: NS_NewHTMLUnknownElement,
946 // CPPONLY: NS_NewSVGFECompositeElement,
948 public static final ElementName IMAGE
= new ElementName("image", "image",
949 // CPPONLY: NS_NewHTMLElement,
950 // CPPONLY: NS_NewSVGImageElement,
952 public static final ElementName IFRAME
= new ElementName("iframe", "iframe",
953 // CPPONLY: NS_NewHTMLIFrameElement,
954 // CPPONLY: NS_NewSVGUnknownElement,
955 TreeBuilder
.IFRAME
| SPECIAL
);
956 public static final ElementName LINE
= new ElementName("line", "line",
957 // CPPONLY: NS_NewHTMLUnknownElement,
958 // CPPONLY: NS_NewSVGLineElement,
960 public static final ElementName MARQUEE
= new ElementName("marquee", "marquee",
961 // CPPONLY: NS_NewHTMLMarqueeElement,
962 // CPPONLY: NS_NewSVGUnknownElement,
963 TreeBuilder
.MARQUEE_OR_APPLET
| SPECIAL
| SCOPING
);
964 public static final ElementName POLYLINE
= new ElementName("polyline", "polyline",
965 // CPPONLY: NS_NewHTMLUnknownElement,
966 // CPPONLY: NS_NewSVGPolylineElement,
968 public static final ElementName PICTURE
= new ElementName("picture", "picture",
969 // CPPONLY: NS_NewHTMLPictureElement,
970 // CPPONLY: NS_NewSVGUnknownElement,
972 public static final ElementName SOURCE
= new ElementName("source", "source",
973 // CPPONLY: NS_NewHTMLSourceElement,
974 // CPPONLY: NS_NewSVGUnknownElement,
975 TreeBuilder
.PARAM_OR_SOURCE_OR_TRACK
);
976 public static final ElementName STRIKE
= new ElementName("strike", "strike",
977 // CPPONLY: NS_NewHTMLElement,
978 // CPPONLY: NS_NewSVGUnknownElement,
979 TreeBuilder
.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U
);
980 public static final ElementName STYLE
= new ElementName("style", "style",
981 // CPPONLY: NS_NewHTMLStyleElement,
982 // CPPONLY: NS_NewSVGStyleElement,
983 TreeBuilder
.STYLE
| SPECIAL
);
984 public static final ElementName TABLE
= new ElementName("table", "table",
985 // CPPONLY: NS_NewHTMLTableElement,
986 // CPPONLY: NS_NewSVGUnknownElement,
987 TreeBuilder
.TABLE
| SPECIAL
| FOSTER_PARENTING
| SCOPING
);
988 public static final ElementName TITLE
= new ElementName("title", "title",
989 // CPPONLY: NS_NewHTMLTitleElement,
990 // CPPONLY: NS_NewSVGTitleElement,
991 TreeBuilder
.TITLE
| SPECIAL
| SCOPING_AS_SVG
);
992 public static final ElementName TIME
= new ElementName("time", "time",
993 // CPPONLY: NS_NewHTMLTimeElement,
994 // CPPONLY: NS_NewSVGUnknownElement,
996 public static final ElementName TEMPLATE
= new ElementName("template", "template",
997 // CPPONLY: NS_NewHTMLTemplateElement,
998 // CPPONLY: NS_NewSVGUnknownElement,
999 TreeBuilder
.TEMPLATE
| SPECIAL
| SCOPING
);
1000 public static final ElementName ALTGLYPHDEF
= new ElementName("altglyphdef", "altGlyphDef",
1001 // CPPONLY: NS_NewHTMLUnknownElement,
1002 // CPPONLY: NS_NewSVGUnknownElement,
1004 public static final ElementName GLYPHREF
= new ElementName("glyphref", "glyphRef",
1005 // CPPONLY: NS_NewHTMLUnknownElement,
1006 // CPPONLY: NS_NewSVGUnknownElement,
1008 public static final ElementName DIALOG
= new ElementName("dialog", "dialog",
1009 // CPPONLY: NS_NewHTMLDialogElement,
1010 // CPPONLY: NS_NewSVGUnknownElement,
1011 TreeBuilder
.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY
| SPECIAL
);
1012 public static final ElementName FEFUNCG
= new ElementName("fefuncg", "feFuncG",
1013 // CPPONLY: NS_NewHTMLUnknownElement,
1014 // CPPONLY: NS_NewSVGFEFuncGElement,
1016 public static final ElementName FEDIFFUSELIGHTING
= new ElementName("fediffuselighting", "feDiffuseLighting",
1017 // CPPONLY: NS_NewHTMLUnknownElement,
1018 // CPPONLY: NS_NewSVGFEDiffuseLightingElement,
1020 public static final ElementName FESPECULARLIGHTING
= new ElementName("fespecularlighting", "feSpecularLighting",
1021 // CPPONLY: NS_NewHTMLUnknownElement,
1022 // CPPONLY: NS_NewSVGFESpecularLightingElement,
1024 public static final ElementName LISTING
= new ElementName("listing", "listing",
1025 // CPPONLY: NS_NewHTMLPreElement,
1026 // CPPONLY: NS_NewSVGUnknownElement,
1027 TreeBuilder
.PRE_OR_LISTING
| SPECIAL
);
1028 public static final ElementName STRONG
= new ElementName("strong", "strong",
1029 // CPPONLY: NS_NewHTMLElement,
1030 // CPPONLY: NS_NewSVGUnknownElement,
1031 TreeBuilder
.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U
);
1032 public static final ElementName ALTGLYPH
= new ElementName("altglyph", "altGlyph",
1033 // CPPONLY: NS_NewHTMLUnknownElement,
1034 // CPPONLY: NS_NewSVGUnknownElement,
1036 public static final ElementName CLIPPATH
= new ElementName("clippath", "clipPath",
1037 // CPPONLY: NS_NewHTMLUnknownElement,
1038 // CPPONLY: NS_NewSVGClipPathElement,
1040 public static final ElementName MGLYPH
= new ElementName("mglyph", "mglyph",
1041 // CPPONLY: NS_NewHTMLUnknownElement,
1042 // CPPONLY: NS_NewSVGUnknownElement,
1043 TreeBuilder
.MGLYPH_OR_MALIGNMARK
);
1044 public static final ElementName MATH
= new ElementName("math", "math",
1045 // CPPONLY: NS_NewHTMLUnknownElement,
1046 // CPPONLY: NS_NewSVGUnknownElement,
1048 public static final ElementName MPATH
= new ElementName("mpath", "mpath",
1049 // CPPONLY: NS_NewHTMLUnknownElement,
1050 // CPPONLY: NS_NewSVGMPathElement,
1052 public static final ElementName PATH
= new ElementName("path", "path",
1053 // CPPONLY: NS_NewHTMLUnknownElement,
1054 // CPPONLY: NS_NewSVGPathElement,
1056 public static final ElementName TH
= new ElementName("th", "th",
1057 // CPPONLY: NS_NewHTMLTableCellElement,
1058 // CPPONLY: NS_NewSVGUnknownElement,
1059 TreeBuilder
.TD_OR_TH
| SPECIAL
| SCOPING
| OPTIONAL_END_TAG
);
1060 public static final ElementName SWITCH
= new ElementName("switch", "switch",
1061 // CPPONLY: NS_NewHTMLUnknownElement,
1062 // CPPONLY: NS_NewSVGSwitchElement,
1064 public static final ElementName TEXTPATH
= new ElementName("textpath", "textPath",
1065 // CPPONLY: NS_NewHTMLUnknownElement,
1066 // CPPONLY: NS_NewSVGTextPathElement,
1068 public static final ElementName LI
= new ElementName("li", "li",
1069 // CPPONLY: NS_NewHTMLLIElement,
1070 // CPPONLY: NS_NewSVGUnknownElement,
1071 TreeBuilder
.LI
| SPECIAL
| OPTIONAL_END_TAG
);
1072 public static final ElementName MI
= new ElementName("mi", "mi",
1073 // CPPONLY: NS_NewHTMLUnknownElement,
1074 // CPPONLY: NS_NewSVGUnknownElement,
1075 TreeBuilder
.MI_MO_MN_MS_MTEXT
| SCOPING_AS_MATHML
);
1076 public static final ElementName LINK
= new ElementName("link", "link",
1077 // CPPONLY: NS_NewHTMLLinkElement,
1078 // CPPONLY: NS_NewSVGUnknownElement,
1079 TreeBuilder
.LINK_OR_BASEFONT_OR_BGSOUND
| SPECIAL
);
1080 public static final ElementName MARK
= new ElementName("mark", "mark",
1081 // CPPONLY: NS_NewHTMLElement,
1082 // CPPONLY: NS_NewSVGUnknownElement,
1084 public static final ElementName MALIGNMARK
= new ElementName("malignmark", "malignmark",
1085 // CPPONLY: NS_NewHTMLUnknownElement,
1086 // CPPONLY: NS_NewSVGUnknownElement,
1087 TreeBuilder
.MGLYPH_OR_MALIGNMARK
);
1088 public static final ElementName MASK
= new ElementName("mask", "mask",
1089 // CPPONLY: NS_NewHTMLUnknownElement,
1090 // CPPONLY: NS_NewSVGMaskElement,
1092 public static final ElementName TRACK
= new ElementName("track", "track",
1093 // CPPONLY: NS_NewHTMLTrackElement,
1094 // CPPONLY: NS_NewSVGUnknownElement,
1095 TreeBuilder
.PARAM_OR_SOURCE_OR_TRACK
| SPECIAL
);
1096 public static final ElementName DL
= new ElementName("dl", "dl",
1097 // CPPONLY: NS_NewHTMLSharedListElement,
1098 // CPPONLY: NS_NewSVGUnknownElement,
1099 TreeBuilder
.UL_OR_OL_OR_DL
| SPECIAL
);
1100 public static final ElementName HTML
= new ElementName("html", "html",
1101 // CPPONLY: NS_NewHTMLSharedElement,
1102 // CPPONLY: NS_NewSVGUnknownElement,
1103 TreeBuilder
.HTML
| SPECIAL
| SCOPING
| OPTIONAL_END_TAG
);
1104 public static final ElementName OL
= new ElementName("ol", "ol",
1105 // CPPONLY: NS_NewHTMLSharedListElement,
1106 // CPPONLY: NS_NewSVGUnknownElement,
1107 TreeBuilder
.UL_OR_OL_OR_DL
| SPECIAL
);
1108 public static final ElementName LABEL
= new ElementName("label", "label",
1109 // CPPONLY: NS_NewHTMLLabelElement,
1110 // CPPONLY: NS_NewSVGUnknownElement,
1112 public static final ElementName UL
= new ElementName("ul", "ul",
1113 // CPPONLY: NS_NewHTMLSharedListElement,
1114 // CPPONLY: NS_NewSVGUnknownElement,
1115 TreeBuilder
.UL_OR_OL_OR_DL
| SPECIAL
);
1116 public static final ElementName SMALL
= new ElementName("small", "small",
1117 // CPPONLY: NS_NewHTMLElement,
1118 // CPPONLY: NS_NewSVGUnknownElement,
1119 TreeBuilder
.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U
);
1120 public static final ElementName SYMBOL
= new ElementName("symbol", "symbol",
1121 // CPPONLY: NS_NewHTMLUnknownElement,
1122 // CPPONLY: NS_NewSVGSymbolElement,
1124 public static final ElementName ALTGLYPHITEM
= new ElementName("altglyphitem", "altGlyphItem",
1125 // CPPONLY: NS_NewHTMLUnknownElement,
1126 // CPPONLY: NS_NewSVGUnknownElement,
1128 public static final ElementName ANIMATETRANSFORM
= new ElementName("animatetransform", "animateTransform",
1129 // CPPONLY: NS_NewHTMLUnknownElement,
1130 // CPPONLY: NS_NewSVGAnimateTransformElement,
1132 public static final ElementName ACRONYM
= new ElementName("acronym", "acronym",
1133 // CPPONLY: NS_NewHTMLElement,
1134 // CPPONLY: NS_NewSVGUnknownElement,
1136 public static final ElementName EM
= new ElementName("em", "em",
1137 // CPPONLY: NS_NewHTMLElement,
1138 // CPPONLY: NS_NewSVGUnknownElement,
1139 TreeBuilder
.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U
);
1140 public static final ElementName FORM
= new ElementName("form", "form",
1141 // CPPONLY: NS_NewHTMLFormElement,
1142 // CPPONLY: NS_NewSVGUnknownElement,
1143 TreeBuilder
.FORM
| SPECIAL
);
1144 public static final ElementName PARAM
= new ElementName("param", "param",
1145 // CPPONLY: NS_NewHTMLSharedElement,
1146 // CPPONLY: NS_NewSVGUnknownElement,
1147 TreeBuilder
.PARAM_OR_SOURCE_OR_TRACK
| SPECIAL
);
1148 public static final ElementName ANIMATEMOTION
= new ElementName("animatemotion", "animateMotion",
1149 // CPPONLY: NS_NewHTMLUnknownElement,
1150 // CPPONLY: NS_NewSVGAnimateMotionElement,
1152 public static final ElementName BUTTON
= new ElementName("button", "button",
1153 // CPPONLY: NS_NewHTMLButtonElement,
1154 // CPPONLY: NS_NewSVGUnknownElement,
1155 TreeBuilder
.BUTTON
| SPECIAL
);
1156 public static final ElementName CAPTION
= new ElementName("caption", "caption",
1157 // CPPONLY: NS_NewHTMLTableCaptionElement,
1158 // CPPONLY: NS_NewSVGUnknownElement,
1159 TreeBuilder
.CAPTION
| SPECIAL
| SCOPING
);
1160 public static final ElementName FIGCAPTION
= new ElementName("figcaption", "figcaption",
1161 // CPPONLY: NS_NewHTMLElement,
1162 // CPPONLY: NS_NewSVGUnknownElement,
1163 TreeBuilder
.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY
| SPECIAL
);
1164 public static final ElementName MN
= new ElementName("mn", "mn",
1165 // CPPONLY: NS_NewHTMLUnknownElement,
1166 // CPPONLY: NS_NewSVGUnknownElement,
1167 TreeBuilder
.MI_MO_MN_MS_MTEXT
| SCOPING_AS_MATHML
);
1168 public static final ElementName KEYGEN
= new ElementName("keygen", "keygen",
1169 // CPPONLY: NS_NewHTMLUnknownElement,
1170 // CPPONLY: NS_NewSVGUnknownElement,
1171 TreeBuilder
.KEYGEN
| SPECIAL
);
1172 public static final ElementName MAIN
= new ElementName("main", "main",
1173 // CPPONLY: NS_NewHTMLElement,
1174 // CPPONLY: NS_NewSVGUnknownElement,
1175 TreeBuilder
.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY
| SPECIAL
);
1176 public static final ElementName OPTION
= new ElementName("option", "option",
1177 // CPPONLY: NS_NewHTMLOptionElement,
1178 // CPPONLY: NS_NewSVGUnknownElement,
1179 TreeBuilder
.OPTION
| OPTIONAL_END_TAG
);
1180 public static final ElementName POLYGON
= new ElementName("polygon", "polygon",
1181 // CPPONLY: NS_NewHTMLUnknownElement,
1182 // CPPONLY: NS_NewSVGPolygonElement,
1184 public static final ElementName PATTERN
= new ElementName("pattern", "pattern",
1185 // CPPONLY: NS_NewHTMLUnknownElement,
1186 // CPPONLY: NS_NewSVGPatternElement,
1188 public static final ElementName SPAN
= new ElementName("span", "span",
1189 // CPPONLY: NS_NewHTMLSpanElement,
1190 // CPPONLY: NS_NewSVGUnknownElement,
1191 TreeBuilder
.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR
);
1192 public static final ElementName SECTION
= new ElementName("section", "section",
1193 // CPPONLY: NS_NewHTMLElement,
1194 // CPPONLY: NS_NewSVGUnknownElement,
1195 TreeBuilder
.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY
| SPECIAL
);
1196 public static final ElementName TSPAN
= new ElementName("tspan", "tspan",
1197 // CPPONLY: NS_NewHTMLUnknownElement,
1198 // CPPONLY: NS_NewSVGTSpanElement,
1200 public static final ElementName AUDIO
= new ElementName("audio", "audio",
1201 // CPPONLY: NS_NewHTMLAudioElement,
1202 // CPPONLY: NS_NewSVGUnknownElement,
1204 public static final ElementName MO
= new ElementName("mo", "mo",
1205 // CPPONLY: NS_NewHTMLUnknownElement,
1206 // CPPONLY: NS_NewSVGUnknownElement,
1207 TreeBuilder
.MI_MO_MN_MS_MTEXT
| SCOPING_AS_MATHML
);
1208 public static final ElementName VIDEO
= new ElementName("video", "video",
1209 // CPPONLY: NS_NewHTMLVideoElement,
1210 // CPPONLY: NS_NewSVGUnknownElement,
1212 public static final ElementName COLGROUP
= new ElementName("colgroup", "colgroup",
1213 // CPPONLY: NS_NewHTMLTableColElement,
1214 // CPPONLY: NS_NewSVGUnknownElement,
1215 TreeBuilder
.COLGROUP
| SPECIAL
| OPTIONAL_END_TAG
);
1216 public static final ElementName FEDISPLACEMENTMAP
= new ElementName("fedisplacementmap", "feDisplacementMap",
1217 // CPPONLY: NS_NewHTMLUnknownElement,
1218 // CPPONLY: NS_NewSVGFEDisplacementMapElement,
1220 public static final ElementName HGROUP
= new ElementName("hgroup", "hgroup",
1221 // CPPONLY: NS_NewHTMLElement,
1222 // CPPONLY: NS_NewSVGUnknownElement,
1223 TreeBuilder
.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY
| SPECIAL
);
1224 public static final ElementName RP
= new ElementName("rp", "rp",
1225 // CPPONLY: NS_NewHTMLElement,
1226 // CPPONLY: NS_NewSVGUnknownElement,
1227 TreeBuilder
.RT_OR_RP
| OPTIONAL_END_TAG
);
1228 public static final ElementName OPTGROUP
= new ElementName("optgroup", "optgroup",
1229 // CPPONLY: NS_NewHTMLOptGroupElement,
1230 // CPPONLY: NS_NewSVGUnknownElement,
1231 TreeBuilder
.OPTGROUP
| OPTIONAL_END_TAG
);
1232 public static final ElementName SAMP
= new ElementName("samp", "samp",
1233 // CPPONLY: NS_NewHTMLElement,
1234 // CPPONLY: NS_NewSVGUnknownElement,
1236 public static final ElementName STOP
= new ElementName("stop", "stop",
1237 // CPPONLY: NS_NewHTMLUnknownElement,
1238 // CPPONLY: NS_NewSVGStopElement,
1240 public static final ElementName BR
= new ElementName("br", "br",
1241 // CPPONLY: NS_NewHTMLBRElement,
1242 // CPPONLY: NS_NewSVGUnknownElement,
1243 TreeBuilder
.BR
| SPECIAL
);
1244 public static final ElementName ABBR
= new ElementName("abbr", "abbr",
1245 // CPPONLY: NS_NewHTMLElement,
1246 // CPPONLY: NS_NewSVGUnknownElement,
1248 public static final ElementName ANIMATECOLOR
= new ElementName("animatecolor", "animateColor",
1249 // CPPONLY: NS_NewHTMLUnknownElement,
1250 // CPPONLY: NS_NewSVGUnknownElement,
1252 public static final ElementName CENTER
= new ElementName("center", "center",
1253 // CPPONLY: NS_NewHTMLElement,
1254 // CPPONLY: NS_NewSVGUnknownElement,
1255 TreeBuilder
.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU
| SPECIAL
);
1256 public static final ElementName HR
= new ElementName("hr", "hr",
1257 // CPPONLY: NS_NewHTMLHRElement,
1258 // CPPONLY: NS_NewSVGUnknownElement,
1259 TreeBuilder
.HR
| SPECIAL
);
1260 public static final ElementName FEFUNCR
= new ElementName("fefuncr", "feFuncR",
1261 // CPPONLY: NS_NewHTMLUnknownElement,
1262 // CPPONLY: NS_NewSVGFEFuncRElement,
1264 public static final ElementName FECOMPONENTTRANSFER
= new ElementName("fecomponenttransfer", "feComponentTransfer",
1265 // CPPONLY: NS_NewHTMLUnknownElement,
1266 // CPPONLY: NS_NewSVGFEComponentTransferElement,
1268 public static final ElementName FILTER
= new ElementName("filter", "filter",
1269 // CPPONLY: NS_NewHTMLUnknownElement,
1270 // CPPONLY: NS_NewSVGFilterElement,
1272 public static final ElementName FOOTER
= new ElementName("footer", "footer",
1273 // CPPONLY: NS_NewHTMLElement,
1274 // CPPONLY: NS_NewSVGUnknownElement,
1275 TreeBuilder
.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY
| SPECIAL
);
1276 public static final ElementName FEGAUSSIANBLUR
= new ElementName("fegaussianblur", "feGaussianBlur",
1277 // CPPONLY: NS_NewHTMLUnknownElement,
1278 // CPPONLY: NS_NewSVGFEGaussianBlurElement,
1280 public static final ElementName HEADER
= new ElementName("header", "header",
1281 // CPPONLY: NS_NewHTMLElement,
1282 // CPPONLY: NS_NewSVGUnknownElement,
1283 TreeBuilder
.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY
| SPECIAL
);
1284 public static final ElementName MARKER
= new ElementName("marker", "marker",
1285 // CPPONLY: NS_NewHTMLUnknownElement,
1286 // CPPONLY: NS_NewSVGMarkerElement,
1288 public static final ElementName METER
= new ElementName("meter", "meter",
1289 // CPPONLY: NS_NewHTMLMeterElement,
1290 // CPPONLY: NS_NewSVGUnknownElement,
1292 public static final ElementName NOBR
= new ElementName("nobr", "nobr",
1293 // CPPONLY: NS_NewHTMLElement,
1294 // CPPONLY: NS_NewSVGUnknownElement,
1296 public static final ElementName TR
= new ElementName("tr", "tr",
1297 // CPPONLY: NS_NewHTMLTableRowElement,
1298 // CPPONLY: NS_NewSVGUnknownElement,
1299 TreeBuilder
.TR
| SPECIAL
| FOSTER_PARENTING
| OPTIONAL_END_TAG
);
1300 public static final ElementName ADDRESS
= new ElementName("address", "address",
1301 // CPPONLY: NS_NewHTMLElement,
1302 // CPPONLY: NS_NewSVGUnknownElement,
1303 TreeBuilder
.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY
| SPECIAL
);
1304 public static final ElementName CANVAS
= new ElementName("canvas", "canvas",
1305 // CPPONLY: NS_NewHTMLCanvasElement,
1306 // CPPONLY: NS_NewSVGUnknownElement,
1308 public static final ElementName DEFS
= new ElementName("defs", "defs",
1309 // CPPONLY: NS_NewHTMLUnknownElement,
1310 // CPPONLY: NS_NewSVGDefsElement,
1312 public static final ElementName DETAILS
= new ElementName("details", "details",
1313 // CPPONLY: NS_NewHTMLDetailsElement,
1314 // CPPONLY: NS_NewSVGUnknownElement,
1315 TreeBuilder
.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY
| SPECIAL
);
1316 public static final ElementName MS
= new ElementName("ms", "ms",
1317 // CPPONLY: NS_NewHTMLUnknownElement,
1318 // CPPONLY: NS_NewSVGUnknownElement,
1319 TreeBuilder
.MI_MO_MN_MS_MTEXT
| SCOPING_AS_MATHML
);
1320 public static final ElementName NOFRAMES
= new ElementName("noframes", "noframes",
1321 // CPPONLY: NS_NewHTMLElement,
1322 // CPPONLY: NS_NewSVGUnknownElement,
1323 TreeBuilder
.NOFRAMES
| SPECIAL
);
1324 public static final ElementName PROGRESS
= new ElementName("progress", "progress",
1325 // CPPONLY: NS_NewHTMLProgressElement,
1326 // CPPONLY: NS_NewSVGUnknownElement,
1328 public static final ElementName DT
= new ElementName("dt", "dt",
1329 // CPPONLY: NS_NewHTMLElement,
1330 // CPPONLY: NS_NewSVGUnknownElement,
1331 TreeBuilder
.DD_OR_DT
| SPECIAL
| OPTIONAL_END_TAG
);
1332 public static final ElementName APPLET
= new ElementName("applet", "applet",
1333 // CPPONLY: NS_NewHTMLUnknownElement,
1334 // CPPONLY: NS_NewSVGUnknownElement,
1335 TreeBuilder
.MARQUEE_OR_APPLET
| SPECIAL
| SCOPING
);
1336 public static final ElementName BASEFONT
= new ElementName("basefont", "basefont",
1337 // CPPONLY: NS_NewHTMLElement,
1338 // CPPONLY: NS_NewSVGUnknownElement,
1339 TreeBuilder
.LINK_OR_BASEFONT_OR_BGSOUND
| SPECIAL
);
1340 public static final ElementName DATALIST
= new ElementName("datalist", "datalist",
1341 // CPPONLY: NS_NewHTMLDataListElement,
1342 // CPPONLY: NS_NewSVGUnknownElement,
1344 public static final ElementName FOREIGNOBJECT
= new ElementName("foreignobject", "foreignObject",
1345 // CPPONLY: NS_NewHTMLUnknownElement,
1346 // CPPONLY: NS_NewSVGForeignObjectElement,
1347 TreeBuilder
.FOREIGNOBJECT_OR_DESC
| SCOPING_AS_SVG
);
1348 public static final ElementName FIELDSET
= new ElementName("fieldset", "fieldset",
1349 // CPPONLY: NS_NewHTMLFieldSetElement,
1350 // CPPONLY: NS_NewSVGUnknownElement,
1351 TreeBuilder
.FIELDSET
| SPECIAL
);
1352 public static final ElementName FRAMESET
= new ElementName("frameset", "frameset",
1353 // CPPONLY: NS_NewHTMLFrameSetElement,
1354 // CPPONLY: NS_NewSVGUnknownElement,
1355 TreeBuilder
.FRAMESET
| SPECIAL
);
1356 public static final ElementName FEOFFSET
= new ElementName("feoffset", "feOffset",
1357 // CPPONLY: NS_NewHTMLUnknownElement,
1358 // CPPONLY: NS_NewSVGFEOffsetElement,
1360 public static final ElementName FESPOTLIGHT
= new ElementName("fespotlight", "feSpotLight",
1361 // CPPONLY: NS_NewHTMLUnknownElement,
1362 // CPPONLY: NS_NewSVGFESpotLightElement,
1364 public static final ElementName FEPOINTLIGHT
= new ElementName("fepointlight", "fePointLight",
1365 // CPPONLY: NS_NewHTMLUnknownElement,
1366 // CPPONLY: NS_NewSVGFEPointLightElement,
1368 public static final ElementName FEDISTANTLIGHT
= new ElementName("fedistantlight", "feDistantLight",
1369 // CPPONLY: NS_NewHTMLUnknownElement,
1370 // CPPONLY: NS_NewSVGFEDistantLightElement,
1372 public static final ElementName FONT
= new ElementName("font", "font",
1373 // CPPONLY: NS_NewHTMLFontElement,
1374 // CPPONLY: NS_NewSVGUnknownElement,
1376 public static final ElementName INPUT
= new ElementName("input", "input",
1377 // CPPONLY: NS_NewHTMLInputElement,
1378 // CPPONLY: NS_NewSVGUnknownElement,
1379 TreeBuilder
.INPUT
| SPECIAL
);
1380 public static final ElementName LINEARGRADIENT
= new ElementName("lineargradient", "linearGradient",
1381 // CPPONLY: NS_NewHTMLUnknownElement,
1382 // CPPONLY: NS_NewSVGLinearGradientElement,
1384 public static final ElementName MTEXT
= new ElementName("mtext", "mtext",
1385 // CPPONLY: NS_NewHTMLUnknownElement,
1386 // CPPONLY: NS_NewSVGUnknownElement,
1387 TreeBuilder
.MI_MO_MN_MS_MTEXT
| SCOPING_AS_MATHML
);
1388 public static final ElementName NOSCRIPT
= new ElementName("noscript", "noscript",
1389 // CPPONLY: NS_NewHTMLElement,
1390 // CPPONLY: NS_NewSVGUnknownElement,
1391 TreeBuilder
.NOSCRIPT
| SPECIAL
);
1392 public static final ElementName RT
= new ElementName("rt", "rt",
1393 // CPPONLY: NS_NewHTMLElement,
1394 // CPPONLY: NS_NewSVGUnknownElement,
1395 TreeBuilder
.RT_OR_RP
| OPTIONAL_END_TAG
);
1396 public static final ElementName OBJECT
= new ElementName("object", "object",
1397 // CPPONLY: NS_NewHTMLObjectElement,
1398 // CPPONLY: NS_NewSVGUnknownElement,
1399 TreeBuilder
.OBJECT
| SPECIAL
| SCOPING
);
1400 public static final ElementName OUTPUT
= new ElementName("output", "output",
1401 // CPPONLY: NS_NewHTMLOutputElement,
1402 // CPPONLY: NS_NewSVGUnknownElement,
1403 TreeBuilder
.OUTPUT
);
1404 public static final ElementName PLAINTEXT
= new ElementName("plaintext", "plaintext",
1405 // CPPONLY: NS_NewHTMLElement,
1406 // CPPONLY: NS_NewSVGUnknownElement,
1407 TreeBuilder
.PLAINTEXT
| SPECIAL
);
1408 public static final ElementName TT
= new ElementName("tt", "tt",
1409 // CPPONLY: NS_NewHTMLElement,
1410 // CPPONLY: NS_NewSVGUnknownElement,
1411 TreeBuilder
.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U
);
1412 public static final ElementName RECT
= new ElementName("rect", "rect",
1413 // CPPONLY: NS_NewHTMLUnknownElement,
1414 // CPPONLY: NS_NewSVGRectElement,
1416 public static final ElementName RADIALGRADIENT
= new ElementName("radialgradient", "radialGradient",
1417 // CPPONLY: NS_NewHTMLUnknownElement,
1418 // CPPONLY: NS_NewSVGRadialGradientElement,
1420 public static final ElementName SELECT
= new ElementName("select", "select",
1421 // CPPONLY: NS_NewHTMLSelectElement,
1422 // CPPONLY: NS_NewSVGUnknownElement,
1423 TreeBuilder
.SELECT
| SPECIAL
);
1424 public static final ElementName SLOT
= new ElementName("slot", "slot",
1425 // CPPONLY: NS_NewHTMLSlotElement,
1426 // CPPONLY: NS_NewSVGUnknownElement,
1428 public static final ElementName SCRIPT
= new ElementName("script", "script",
1429 // CPPONLY: NS_NewHTMLScriptElement,
1430 // CPPONLY: NS_NewSVGScriptElement,
1431 TreeBuilder
.SCRIPT
| SPECIAL
);
1432 public static final ElementName TFOOT
= new ElementName("tfoot", "tfoot",
1433 // CPPONLY: NS_NewHTMLTableSectionElement,
1434 // CPPONLY: NS_NewSVGUnknownElement,
1435 TreeBuilder
.TBODY_OR_THEAD_OR_TFOOT
| SPECIAL
| FOSTER_PARENTING
| OPTIONAL_END_TAG
);
1436 public static final ElementName TEXT
= new ElementName("text", "text",
1437 // CPPONLY: NS_NewHTMLUnknownElement,
1438 // CPPONLY: NS_NewSVGTextElement,
1440 public static final ElementName MENU
= new ElementName("menu", "menu",
1441 // CPPONLY: NS_NewHTMLMenuElement,
1442 // CPPONLY: NS_NewSVGUnknownElement,
1443 TreeBuilder
.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU
| SPECIAL
);
1444 public static final ElementName FEDROPSHADOW
= new ElementName("fedropshadow", "feDropShadow",
1445 // CPPONLY: NS_NewHTMLUnknownElement,
1446 // CPPONLY: NS_NewSVGFEDropShadowElement,
1448 public static final ElementName VIEW
= new ElementName("view", "view",
1449 // CPPONLY: NS_NewHTMLUnknownElement,
1450 // CPPONLY: NS_NewSVGViewElement,
1452 public static final ElementName FECOLORMATRIX
= new ElementName("fecolormatrix", "feColorMatrix",
1453 // CPPONLY: NS_NewHTMLUnknownElement,
1454 // CPPONLY: NS_NewSVGFEColorMatrixElement,
1456 public static final ElementName FECONVOLVEMATRIX
= new ElementName("feconvolvematrix", "feConvolveMatrix",
1457 // CPPONLY: NS_NewHTMLUnknownElement,
1458 // CPPONLY: NS_NewSVGFEConvolveMatrixElement,
1460 public static final ElementName BODY
= new ElementName("body", "body",
1461 // CPPONLY: NS_NewHTMLBodyElement,
1462 // CPPONLY: NS_NewSVGUnknownElement,
1463 TreeBuilder
.BODY
| SPECIAL
| OPTIONAL_END_TAG
);
1464 public static final ElementName FEMORPHOLOGY
= new ElementName("femorphology", "feMorphology",
1465 // CPPONLY: NS_NewHTMLUnknownElement,
1466 // CPPONLY: NS_NewSVGFEMorphologyElement,
1468 public static final ElementName RUBY
= new ElementName("ruby", "ruby",
1469 // CPPONLY: NS_NewHTMLElement,
1470 // CPPONLY: NS_NewSVGUnknownElement,
1471 TreeBuilder
.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR
);
1472 public static final ElementName SUMMARY
= new ElementName("summary", "summary",
1473 // CPPONLY: NS_NewHTMLSummaryElement,
1474 // CPPONLY: NS_NewSVGUnknownElement,
1475 TreeBuilder
.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY
| SPECIAL
);
1476 public static final ElementName TBODY
= new ElementName("tbody", "tbody",
1477 // CPPONLY: NS_NewHTMLTableSectionElement,
1478 // CPPONLY: NS_NewSVGUnknownElement,
1479 TreeBuilder
.TBODY_OR_THEAD_OR_TFOOT
| SPECIAL
| FOSTER_PARENTING
| OPTIONAL_END_TAG
);
1480 private final static @NoLength ElementName
[] ELEMENT_NAMES
= {
1684 FECOMPONENTTRANSFER
,
1688 private final static int[] ELEMENT_HASHES
= {