001// ***************************************************************************************************************************
002// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
003// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
004// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
005// * with the License.  You may obtain a copy of the License at                                                              *
006// *                                                                                                                         *
007// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
008// *                                                                                                                         *
009// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
010// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
011// * specific language governing permissions and limitations under the License.                                              *
012// ***************************************************************************************************************************
013package org.apache.juneau.dto.html5;
014
015/**
016 * Various useful static methods for creating HTML elements.
017 *
018 * <h5 class='section'>See Also:</h5><ul>
019 *    <li class='link'><a class="doclink" href="../../../../../index.html#jd.Html5">Overview &gt; juneau-dto &gt; HTML5</a>
020 * </ul>
021 */
022public class HtmlBuilder {
023
024   /**
025    * Creates an empty {@link A} element.
026    *
027    * @return The new element.
028    */
029   public static final A a() {
030      return new A();
031   }
032
033   /**
034    * Creates an {@link A} element with the specified {@link A#href(Object)} attribute and {@link A#children(Object[])}
035    * nodes.
036    *
037    * @param href The {@link A#href(Object)} attribute.
038    * @param children The {@link A#children(Object[])} nodes.
039    * @return The new element.
040    */
041   public static final A a(Object href, Object...children) {
042      return new A(href, children);
043   }
044
045   /**
046    * Creates an empty {@link Abbr} element.
047    *
048    * @return The new element.
049    */
050   public static final Abbr abbr() {
051      return new Abbr();
052   }
053
054   /**
055    * Creates an {@link Abbr} element with the specified {@link Abbr#title(String)} attribute and
056    * {@link Abbr#children(Object[])} nodes.
057    *
058    * @param title The {@link Abbr#title(String)} attribute.
059    * @param children The {@link Abbr#children(Object[])} nodes.
060    * @return The new element.
061    */
062   public static final Abbr abbr(String title, Object...children) {
063      return new Abbr(title, children);
064   }
065
066   /**
067    * Creates an empty {@link Address} element.
068    *
069    * @return The new element.
070    */
071   public static final Address address() {
072      return new Address();
073   }
074
075   /**
076    * Creates an {@link Address} element with the specified child nodes.
077    *
078    * @param children The child nodes.
079    * @return The new element.
080    */
081   public static final Address address(Object...children) {
082      return new Address(children);
083   }
084
085   /**
086    * Creates an empty {@link Area} element.
087    *
088    * @return The new element.
089    */
090   public static final Area area() {
091      return new Area();
092   }
093
094   /**
095    * Creates an {@link Area} element with the specified {@link Area#shape(String)}, {@link Area#coords(String)},
096    * and {@link Area#href(Object)} attributes.
097    *
098    * @param shape The {@link Area#shape(String)} attribute.
099    * @param coords The {@link Area#coords(String)} attribute.
100    * @param href The {@link Area#href(Object)} attribute.
101    * @return The new element.
102    */
103   public static final Area area(String shape, String coords, Object href) {
104      return new Area(shape, coords, href);
105   }
106
107   /**
108    * Creates an empty {@link Article} element.
109    *
110    * @return The new element.
111    */
112   public static final Article article() {
113      return new Article();
114   }
115
116   /**
117    * Creates an {@link Article} element with the specified child nodes.
118    *
119    * @param children The child nodes.
120    * @return The new element.
121    */
122   public static final Article article(Object...children) {
123      return new Article(children);
124   }
125
126   /**
127    * Creates an empty {@link Aside} element.
128    *
129    * @return The new element.
130    */
131   public static final Aside aside() {
132      return new Aside();
133   }
134
135   /**
136    * Creates an {@link Aside} element with the specified child nodes.
137    *
138    * @param children The child nodes.
139    * @return The new element.
140    */
141   public static final Aside aside(Object...children) {
142      return new Aside(children);
143   }
144
145   /**
146    * Creates an empty {@link Audio} element.
147    *
148    * @return The new element.
149    */
150   public static final Audio audio() {
151      return new Audio();
152   }
153
154   /**
155    * Creates an {@link Audio} element with the specified {@link Audio#src(Object)} attribute.
156    *
157    * @param src The {@link Audio#src(Object)} attribute.
158    * @return The new element.
159    */
160   public static final Audio audio(String src) {
161      return new Audio(src);
162   }
163
164   /**
165    * Creates an empty {@link B} element.
166    *
167    * @return The new element.
168    */
169   public static final B b() {
170      return new B();
171   }
172
173   /**
174    * Creates a {@link B} element with the specified child nodes.
175    *
176    * @param children The child nodes.
177    * @return The new element.
178    */
179   public static final B b(Object...children) {
180      return new B(children);
181   }
182
183   /**
184    * Creates an empty {@link Base} element.
185    *
186    * @return The new element.
187    */
188   public static final Base base() {
189      return new Base();
190   }
191
192   /**
193    * Creates a {@link Base} element with the specified {@link Base#href(Object)} attribute.
194    *
195    * @param href The {@link Base#href(Object)} attribute.
196    * @return The new element.
197    */
198   public static final Base base(Object href) {
199      return new Base(href);
200   }
201
202   /**
203    * Creates an empty {@link Bdi} element.
204    *
205    * @return The new element.
206    */
207   public static final Bdi bdi() {
208      return new Bdi();
209   }
210
211   /**
212    * Creates a {@link Bdi} element with the specified {@link Bdi#text(Object)} node.
213    *
214    * @param text The {@link Bdi#text(Object)} node.
215    * @return The new element.
216    */
217   public static final Bdi bdi(Object text) {
218      return new Bdi(text);
219   }
220
221   /**
222    * Creates an empty {@link Bdo} element.
223    *
224    * @return The new element.
225    */
226   public static final Bdo bdo() {
227      return new Bdo();
228   }
229
230   /**
231    * Creates a {@link Bdo} element with the specified {@link Bdo#dir(String)} attribute and child nodes.
232    *
233    * @param dir The {@link Bdo#dir(String)} attribute.
234    * @param children The child nodes.
235    * @return The new element.
236    */
237   public static final Bdo bdo(String dir, Object...children) {
238      return new Bdo(dir, children);
239   }
240
241   /**
242    * Creates an empty {@link Blockquote} element.
243    *
244    * @return The new element.
245    */
246   public static final Blockquote blockquote() {
247      return new Blockquote();
248   }
249
250   /**
251    * Creates a {@link Blockquote} element with the specified child nodes.
252    *
253    * @param children The child nodes.
254    * @return The new element.
255    */
256   public static final Blockquote blockquote(Object...children) {
257      return new Blockquote(children);
258   }
259
260   /**
261    * Creates an empty {@link Body} element.
262    *
263    * @return The new element.
264    */
265   public static final Body body() {
266      return new Body();
267   }
268
269   /**
270    * Creates a {@link Body} element with the specified child nodes.
271    *
272    * @param children The child nodes.
273    * @return The new element.
274    */
275   public static final Body body(Object...children) {
276      return new Body(children);
277   }
278
279   /**
280    * Creates an empty {@link Br} element.
281    *
282    * @return The new element.
283    */
284   public static final Br br() {
285      return new Br();
286   }
287
288   /**
289    * Creates an empty {@link Button} element.
290    *
291    * @return The new element.
292    */
293   public static final Button button() {
294      return new Button();
295   }
296
297   /**
298    * Creates a {@link Button} element with the specified {@link Button#type(String)} attribute.
299    *
300    * @param type The {@link Button#type(String)} attribute.
301    * @return The new element.
302    */
303   public static final Button button(String type) {
304      return new Button(type);
305   }
306
307   /**
308    * Creates a {@link Button} element with the specified {@link Button#type(String)} attribute and
309    * {@link Button#children(Object[])} nodes.
310    *
311    * @param type The {@link Button#type(String)} attribute.
312    * @param children The {@link Button#children(Object[])} nodes.
313    * @return The new element.
314    */
315   public static final Button button(String type, Object...children) {
316      return new Button(type, children);
317   }
318
319   /**
320    * Creates an empty {@link Canvas} element.
321    * @return The new element.
322    */
323   public static final Canvas canvas() {
324      return new Canvas();
325   }
326
327   /**
328    * Creates a {@link Canvas} element with the specified {@link Canvas#width(Object)} and
329    * {@link Canvas#height(Object)} attributes.
330    *
331    * @param width The {@link Canvas#width(Object)} attribute.
332    * @param height The {@link Canvas#height(Object)} attribute.
333    * @return The new element.
334    */
335   public static final Canvas canvas(Number width, Number height) {
336      return new Canvas(width, height);
337   }
338
339   /**
340    * Creates an empty {@link Caption} element.
341    *
342    * @return The new element.
343    */
344   public static final Caption caption() {
345      return new Caption();
346   }
347
348   /**
349    * Creates a {@link Caption} element with the specified child nodes.
350    *
351    * @param children The child nodes.
352    * @return The new element.
353    */
354   public static final Caption caption(Object...children) {
355      return new Caption(children);
356   }
357
358   /**
359    * Creates an empty {@link Cite} element.
360    *
361    * @return The new element.
362    */
363   public static final Cite cite() {
364      return new Cite();
365   }
366
367   /**
368    * Creates a {@link Cite} element with the specified child nodes.
369    *
370    * @param children The child nodes.
371    * @return The new element.
372    */
373   public static final Cite cite(Object...children) {
374      return new Cite(children);
375   }
376
377   /**
378    * Creates an empty {@link Code} element.
379    *
380    * @return The new element.
381    */
382   public static final Code code() {
383      return new Code();
384   }
385
386   /**
387    * Creates a {@link Code} element with the specified child nodes.
388    *
389    * @param children The child nodes.
390    * @return The new element.
391    */
392   public static final Code code(Object...children) {
393      return new Code(children);
394   }
395
396   /**
397    * Creates an empty {@link Col} element.
398    *
399    * @return The new element.
400    *
401    */
402   public static final Col col() {
403      return new Col();
404   }
405
406   /**
407    * Creates a {@link Col} element with the specified {@link Col#span(Object)} attribute.
408    *
409    * @param span The {@link Col#span(Object)} attribute.
410    * @return The new element.
411    */
412   public static final Col col(Number span) {
413      return new Col(span);
414   }
415
416   /**
417    * Creates an empty {@link Colgroup} element.
418    *
419    * @return The new element.
420    */
421   public static final Colgroup colgroup() {
422      return new Colgroup();
423   }
424
425   /**
426    * Creates a {@link Colgroup} element with the specified child nodes.
427    *
428    * @param children The child nodes.
429    * @return The new element.
430    */
431   public static final Colgroup colgroup(Object...children) {
432      return new Colgroup(children);
433   }
434
435   /**
436    * Creates an empty {@link Data} element.
437    *
438    * @return The new element.
439    */
440   public static final Data data() {
441      return new Data();
442   }
443
444   /**
445    * Creates a {@link Data} element with the specified {@link Data#value(Object)} attribute and child node.
446    *
447    * @param value The {@link Data#value(Object)} attribute.
448    * @param child The child node.
449    * @return The new element.
450    */
451   public static final Data data(String value, Object child) {
452      return new Data(value, child);
453   }
454
455   /**
456    * Creates an empty {@link Datalist} element.
457    *
458    * @return The new element.
459    */
460   public static final Datalist datalist() {
461      return new Datalist();
462   }
463
464   /**
465    * Creates a {@link Datalist} element with the specified {@link Datalist#id(String)} attribute and child nodes.
466    *
467    * @param id The {@link Datalist#id(String)} attribute.
468    * @param children The child nodes.
469    * @return The new element.
470    */
471   public static final Datalist datalist(String id, Option...children) {
472      return new Datalist(id, children);
473   }
474
475   /**
476    * Creates an empty {@link Dd} element.
477    *
478    * @return The new element.
479    */
480   public static final Dd dd() {
481      return new Dd();
482   }
483
484   /**
485    * Creates a {@link Dd} element with the specified child nodes.
486    *
487    * @param children The child nodes.
488    * @return The new element.
489    */
490   public static final Dd dd(Object...children) {
491      return new Dd(children);
492   }
493
494   /**
495    * Creates an empty {@link Del} element.
496    *
497    * @return The new element.
498    */
499   public static final Del del() {
500      return new Del();
501   }
502
503   /**
504    * Creates a {@link Del} element with the specified {@link Del#children(Object[])} node.
505    *
506    * @param children The {@link Del#children(Object[])} node.
507    * @return The new element.
508    */
509   public static final Del del(Object...children) {
510      return new Del(children);
511   }
512
513   /**
514    * Creates an empty {@link Dfn} element.
515    *
516    * @return The new element.
517    */
518   public static final Dfn dfn() {
519      return new Dfn();
520   }
521
522   /**
523    * Creates a {@link Dfn} element with the specified child nodes.
524    *
525    * @param children The child nodes.
526    * @return The new element.
527    */
528   public static final Dfn dfn(Object...children) {
529      return new Dfn(children);
530   }
531
532   /**
533    * Creates an empty {@link Div} element.
534    *
535    * @return The new element.
536    */
537   public static final Div div() {
538      return new Div();
539   }
540
541   /**
542    * Creates a {@link Div} element with the specified child nodes.
543    *
544    * @param children The child nodes.
545    * @return The new element.
546    */
547   public static final Div div(Object...children) {
548      return new Div(children);
549   }
550
551   /**
552    * Creates an empty {@link Dl} element.
553    *
554    * @return The new element.
555    */
556   public static final Dl dl() {
557      return new Dl();
558   }
559
560   /**
561    * Creates a {@link Dl} element with the specified child nodes.
562    *
563    * @param children The child nodes.
564    * @return The new element.
565    */
566   public static final Dl dl(Object...children) {
567      return new Dl(children);
568   }
569
570   /**
571    * Creates an empty {@link Dt} element.
572    *
573    * @return The new element.
574    */
575   public static final Dt dt() {
576      return new Dt();
577   }
578
579   /**
580    * Creates a {@link Dt} element with the specified child nodes.
581    *
582    * @param children The child nodes.
583    * @return The new element.
584    */
585   public static final Dt dt(Object...children) {
586      return new Dt(children);
587   }
588
589   /**
590    * Creates an empty {@link Em} element.
591    *
592    * @return The new element.
593    */
594   public static final Em em() {
595      return new Em();
596   }
597
598   /**
599    * Creates an {@link Em} element with the specified {@link Em#children(Object[])} nodes.
600    *
601    * @param children The {@link Em#children(Object[])} nodes.
602    * @return The new element.
603    */
604   public static final Em em(Object...children) {
605      return new Em(children);
606   }
607
608   /**
609    * Creates an empty {@link Embed} element.
610    *
611    * @return The new element.
612    */
613   public static final Embed embed() {
614      return new Embed();
615   }
616
617   /**
618    * Creates an {@link Embed} element with the specified {@link Embed#src(Object)} attribute.
619    *
620    * @param src The {@link Embed#src(Object)} attribute.
621    * @return The new element.
622    */
623   public static final Embed embed(Object src) {
624      return new Embed(src);
625   }
626
627   /**
628    * Creates an empty {@link Fieldset} element.
629    *
630    * @return The new element.
631    */
632   public static final Fieldset fieldset() {
633      return new Fieldset();
634   }
635
636   /**
637    * Creates a {@link Fieldset} element with the specified child nodes.
638    *
639    * @param children The child nodes.
640    * @return The new element.
641    */
642   public static final Fieldset fieldset(Object...children) {
643      return new Fieldset(children);
644   }
645
646   /**
647    * Creates an empty {@link Figcaption} element.
648    *
649    * @return The new element.
650    */
651   public static final Figcaption figcaption() {
652      return new Figcaption();
653   }
654
655   /**
656    * Creates a {@link Figcaption} element with the specified child nodes.
657    *
658    * @param children The child nodes.
659    * @return The new element.
660    */
661   public static final Figcaption figcaption(Object...children) {
662      return new Figcaption(children);
663   }
664
665   /**
666    * Creates an empty {@link Figure} element.
667    *
668    * @return The new element.
669    */
670   public static final Figure figure() {
671      return new Figure();
672   }
673
674   /**
675    * Creates a {@link Figure} element with the specified child nodes.
676    *
677    * @param children The child nodes.
678    * @return The new element.
679    */
680   public static final Figure figure(Object...children) {
681      return new Figure(children);
682   }
683
684   /**
685    * Creates an empty {@link Footer} element.
686    *
687    * @return The new element.
688    */
689   public static final Footer footer() {
690      return new Footer();
691   }
692
693   /**
694    * Creates a {@link Footer} element with the specified child nodes.
695    *
696    * @param children The child nodes.
697    * @return The new element.
698    */
699   public static final Footer footer(Object...children) {
700      return new Footer(children);
701   }
702
703   /**
704    * Creates an empty {@link Form} element.
705    *
706    * @return The new element.
707    */
708   public static final Form form() {
709      return new Form();
710   }
711
712   /**
713    * Creates a {@link Form} element with the specified {@link Form#action(String)} attribute.
714    *
715    * @param action The {@link Form#action(String)} attribute.
716    * @return The new element.
717    */
718   public static final Form form(String action) {
719      return new Form(action);
720   }
721
722   /**
723    * Creates an {@link Form} element with the specified {@link Form#action(String)} attribute and child nodes.
724    *
725    * @param action The {@link Form#action(String)} attribute.
726    * @param children The child nodes.
727    * @return The new element.
728    */
729   public static final Form form(String action, Object...children) {
730      return new Form(action, children);
731   }
732
733   /**
734    * Creates an empty {@link H1} element.
735    *
736    * @return The new element.
737    */
738   public static final H1 h1() {
739      return new H1();
740   }
741
742   /**
743    * Creates an {@link H1} element with the specified child nodes.
744    *
745    * @param children The child nodes.
746    * @return The new element.
747    */
748   public static final H1 h1(Object...children) {
749      return new H1(children);
750   }
751
752   /**
753    * Creates an empty {@link H2} element.
754    *
755    * @return The new element.
756    */
757   public static final H2 h2() {
758      return new H2();
759   }
760
761   /**
762    * Creates an {@link H2} element with the specified child nodes.
763    *
764    * @param children The child nodes.
765    * @return The new element.
766    */
767   public static final H2 h2(Object...children) {
768      return new H2(children);
769   }
770
771   /**
772    * Creates an empty {@link H3} element.
773    *
774    * @return The new element.
775    */
776   public static final H3 h3() {
777      return new H3();
778   }
779
780   /**
781    * Creates an {@link H3} element with the specified child nodes.
782    *
783    * @param children The child nodes.
784    * @return The new element.
785    */
786   public static final H3 h3(Object...children) {
787      return new H3(children);
788   }
789
790   /**
791    * Creates an empty {@link H4} element.
792    *
793    * @return The new element.
794    */
795   public static final H4 h4() {
796      return new H4();
797   }
798
799   /**
800    * Creates an {@link H4} element with the specified child nodes.
801    *
802    * @param children The child nodes.
803    * @return The new element.
804    */
805   public static final H4 h4(Object...children) {
806      return new H4(children);
807   }
808
809   /**
810    * Creates an empty {@link H5} element.
811    *
812    * @return The new element.
813    */
814   public static final H5 h5() {
815      return new H5();
816   }
817
818   /**
819    * Creates an {@link H5} element with the specified child nodes.
820    *
821    * @param children The child nodes.
822    * @return The new element.
823    */
824   public static final H5 h5(Object...children) {
825      return new H5(children);
826   }
827
828   /**
829    * Creates an empty {@link H6} element.
830    * @return The new element.
831    */
832   public static final H6 h6() {
833      return new H6();
834   }
835
836   /**
837    * Creates an {@link H6} element with the specified child nodes.
838    *
839    * @param children The child nodes.
840    * @return The new element.
841    */
842   public static final H6 h6(Object...children) {
843      return new H6(children);
844   }
845
846   /**
847    * Creates an empty {@link Head} element.
848    *
849    * @return The new element.
850    */
851   public static final Head head() {
852      return new Head();
853   }
854
855   /**
856    * Creates a {@link Head} element with the specified child nodes.
857    *
858    * @param children The child nodes.
859    * @return The new element.
860    */
861   public static final Head head(Object...children) {
862      return new Head(children);
863   }
864
865   /**
866    * Creates an empty {@link Header} element.
867    *
868    * @return The new element.
869    */
870   public static final Header header() {
871      return new Header();
872   }
873
874   /**
875    * Creates a {@link Header} element with the specified child nodes.
876    *
877    * @param children The child nodes.
878    * @return The new element.
879    */
880   public static final Header header(Object...children) {
881      return new Header(children);
882   }
883
884   /**
885    * Creates an empty {@link Hr} element.
886    *
887    * @return The new element.
888    */
889   public static final Hr hr() {
890      return new Hr();
891   }
892
893   /**
894    * Creates an empty {@link Html} element.
895    *
896    * @return The new element.
897    */
898   public static final Html html() {
899      return new Html();
900   }
901
902   /**
903    * Creates an {@link Html} element with the specified child nodes.
904    *
905    * @param children The child nodes.
906    * @return The new element.
907    */
908   public static final Html html(Object...children) {
909      return new Html(children);
910   }
911
912   /**
913    * Creates an empty {@link I} element.
914    *
915    * @return The new element.
916    */
917   public static final I i() {
918      return new I();
919   }
920
921   /**
922    * Creates an {@link I} element with the specified child nodes.
923    *
924    * @param children The child nodes.
925    * @return The new element.
926    */
927   public static final I i(Object...children) {
928      return new I(children);
929   }
930
931   /**
932    * Creates an empty {@link Iframe} element.
933    *
934    * @return The new element.
935    */
936   public static final Iframe iframe() {
937      return new Iframe();
938   }
939
940   /**
941    * Creates an {@link Iframe} element with the specified child nodes.
942    *
943    * @param children The child nodes.
944    * @return The new element.
945    */
946   public static final Iframe iframe(Object...children) {
947      return new Iframe(children);
948   }
949
950   /**
951    * Creates an empty {@link Img} element.
952    *
953    * @return The new element.
954    */
955   public static final Img img() {
956      return new Img();
957   }
958
959   /**
960    * Creates an {@link Img} element with the specified {@link Img#src(Object)} attribute.
961    *
962    * @param src The {@link Img#src(Object)} attribute.
963    * @return The new element.
964    */
965   public static final Img img(Object src) {
966      return new Img(src);
967   }
968
969   /**
970    * Creates an empty {@link Input} element.
971    *
972    * @return The new element.
973    */
974   public static final Input input() {
975      return new Input();
976   }
977
978   /**
979    * Creates an {@link Input} element with the specified {@link Input#type(String)} attribute.
980    *
981    * @param type The {@link Input#type(String)} attribute.
982    * @return The new element.
983    */
984   public static final Input input(String type) {
985      return new Input(type);
986   }
987
988   /**
989    * Creates an empty {@link Ins} element.
990    *
991    * @return The new element.
992    */
993   public static final Ins ins() {
994      return new Ins();
995   }
996
997   /**
998    * Creates an {@link Ins} element with the specified child nodes.
999    *
1000    * @param children The child nodes.
1001    * @return The new element.
1002    */
1003   public static final Ins ins(Object...children) {
1004      return new Ins(children);
1005   }
1006
1007   /**
1008    * Creates an empty {@link Kbd} element.
1009    *
1010    * @return The new element.
1011    */
1012   public static final Kbd kbd() {
1013      return new Kbd();
1014   }
1015
1016   /**
1017    * Creates a {@link Kbd} element with the specified child nodes.
1018    *
1019    * @param children The child nodes.
1020    * @return The new element.
1021    */
1022   public static final Kbd kbd(Object...children) {
1023      return new Kbd(children);
1024   }
1025
1026   /**
1027    * Creates an empty {@link Keygen} element.
1028    *
1029    * @return The new element.
1030    */
1031   public static final Keygen keygen() {
1032      return new Keygen();
1033   }
1034
1035   /**
1036    * Creates an empty {@link Label} element.
1037    *
1038    * @return The new element.
1039    */
1040   public static final Label label() {
1041      return new Label();
1042   }
1043
1044   /**
1045    * Creates a {@link Label} element with the specified child nodes.
1046    *
1047    * @param children The child nodes.
1048    * @return The new element.
1049    */
1050   public static final Label label(Object...children) {
1051      return new Label(children);
1052   }
1053
1054   /**
1055    * Creates an empty {@link Legend} element.
1056    *
1057    * @return The new element.
1058    */
1059   public static final Legend legend() {
1060      return new Legend();
1061   }
1062
1063   /**
1064    * Creates a {@link Legend} element with the specified child nodes.
1065    *
1066    * @param children The child nodes.
1067    * @return The new element.
1068    */
1069   public static final Legend legend(Object...children) {
1070      return new Legend(children);
1071   }
1072
1073   /**
1074    * Creates an empty {@link Li} element.
1075    *
1076    * @return The new element.
1077    */
1078   public static final Li li() {
1079      return new Li();
1080   }
1081
1082   /**
1083    * Creates an {@link Li} element with the specified child nodes.
1084    *
1085    * @param children The child nodes.
1086    * @return The new element.
1087    */
1088   public static final Li li(Object...children) {
1089      return new Li(children);
1090   }
1091
1092   /**
1093    * Creates an empty {@link Link} element.
1094    *
1095    * @return The new element.
1096    */
1097   public static final Link link() {
1098      return new Link();
1099   }
1100
1101   /**
1102    * Creates a {@link Link} element with the specified {@link Link#href(Object)} attribute.
1103    *
1104    * @param href The {@link Link#href(Object)} attribute.
1105    * @return The new element.
1106    */
1107   public static final Link link(Object href) {
1108      return new Link(href);
1109   }
1110
1111   /**
1112    * Creates an empty {@link Main} element.
1113    *
1114    * @return The new element.
1115    */
1116   public static final Main main() {
1117      return new Main();
1118   }
1119
1120   /**
1121    * Creates a {@link Main} element with the specified child nodes.
1122    *
1123    * @param children The child nodes.
1124    * @return The new element.
1125    */
1126   public static final Main main(Object...children) {
1127      return new Main(children);
1128   }
1129
1130   /**
1131    * Creates an empty {@link Map} element.
1132    *
1133    * @return The new element.
1134    */
1135   public static final Map map() {
1136      return new Map();
1137   }
1138
1139   /**
1140    * Creates a {@link Map} element with the specified child nodes.
1141    *
1142    * @param children The child nodes.
1143    * @return The new element.
1144    */
1145   public static final Map map(Object...children) {
1146      return new Map(children);
1147   }
1148
1149   /**
1150    * Creates an empty {@link Mark} element.
1151    *
1152    * @return The new element.
1153    */
1154   public static final Mark mark() {
1155      return new Mark();
1156   }
1157
1158   /**
1159    * Creates a {@link Mark} element with the specified child nodes.
1160    *
1161    * @param children The child nodes.
1162    * @return The new element.
1163    */
1164   public static final Mark mark(Object...children) {
1165      return new Mark(children);
1166   }
1167
1168   /**
1169    * Creates an empty {@link Meta} element.
1170    *
1171    * @return The new element.
1172    */
1173   public static final Meta meta() {
1174      return new Meta();
1175   }
1176
1177   /**
1178    * Creates an empty {@link Meter} element.
1179    *
1180    * @return The new element.
1181    */
1182   public static final Meter meter() {
1183      return new Meter();
1184   }
1185
1186   /**
1187    * Creates a {@link Meter} element with the specified child nodes.
1188    *
1189    * @param children The child nodes.
1190    * @return The new element.
1191    */
1192   public static final Meter meter(Object...children) {
1193      return new Meter(children);
1194   }
1195
1196   /**
1197    * Creates an empty {@link Nav} element.
1198    *
1199    * @return The new element.
1200    */
1201   public static final Nav nav() {
1202      return new Nav();
1203   }
1204
1205   /**
1206    * Creates a {@link Nav} element with the specified child nodes.
1207    *
1208    * @param children The child nodes.
1209    * @return The new element.
1210    */
1211   public static final Nav nav(Object...children) {
1212      return new Nav(children);
1213   }
1214
1215   /**
1216    * Creates an empty {@link Noscript} element.
1217    *
1218    * @return The new element.
1219    */
1220   public static final Noscript noscript() {
1221      return new Noscript();
1222   }
1223
1224   /**
1225    * Creates a {@link Noscript} element with the specified child nodes.
1226    *
1227    * @param children The child nodes.
1228    * @return The new element.
1229    */
1230   public static final Noscript noscript(Object...children) {
1231      return new Noscript(children);
1232   }
1233
1234   /**
1235    * Creates an empty {@link Object_} element.
1236    *
1237    * @return The new element.
1238    */
1239   public static final Object_ object() {
1240      return new Object_();
1241   }
1242
1243   /**
1244    * Creates an {@link Object_} element with the specified child nodes.
1245    *
1246    * @param children The child nodes.
1247    * @return The new element.
1248    */
1249   public static final Object_ object(Object...children) {
1250      return new Object_(children);
1251   }
1252
1253   /**
1254    * Creates an empty {@link Ol} element.
1255    *
1256    * @return The new element.
1257    */
1258   public static final Ol ol() {
1259      return new Ol();
1260   }
1261
1262   /**
1263    * Creates an {@link Ol} element with the specified child nodes.
1264    *
1265    * @param children The child nodes.
1266    * @return The new element.
1267    */
1268   public static final Ol ol(Object...children) {
1269      return new Ol(children);
1270   }
1271
1272   /**
1273    * Creates an empty {@link Optgroup} element.
1274    *
1275    * @return The new element.
1276    */
1277   public static final Optgroup optgroup() {
1278      return new Optgroup();
1279   }
1280
1281   /**
1282    * Creates an {@link Optgroup} element with the specified child nodes.
1283    *
1284    * @param children The child nodes.
1285    * @return The new element.
1286    */
1287   public static final Optgroup optgroup(Object...children) {
1288      return new Optgroup(children);
1289   }
1290
1291   /**
1292    * Creates an empty {@link Option} element.
1293    *
1294    * @return The new element.
1295    */
1296   public static final Option option() {
1297      return new Option();
1298   }
1299
1300   /**
1301    * Creates an {@link Option} element with the specified {@link Option#text(Object)} attribute.
1302    *
1303    * @param text The {@link Option#text(Object)} attribute.
1304    * @return The new element.
1305    */
1306   public static final Option option(Object text) {
1307      return new Option(text);
1308   }
1309
1310   /**
1311    * Creates an {@link Option} element with the specified {@link Option#value(Object)} attribute and
1312    * {@link Option#text(Object)} node.
1313    *
1314    * @param value The {@link Option#value(Object)} attribute.
1315    * @param text The {@link Option#text(Object)} node.
1316    * @return The new element.
1317    */
1318   public static final Option option(Object value, Object text) {
1319      return new Option(value, text);
1320   }
1321
1322   /**
1323    * Creates an empty {@link Output} element.
1324    *
1325    * @return The new element.
1326    */
1327   public static final Output output() {
1328      return new Output();
1329   }
1330
1331   /**
1332    * Creates an {@link Output} element with the specified {@link Output#name(String)} attribute.
1333    *
1334    * @param name The {@link Output#name(String)} attribute.
1335    * @return The new element.
1336    */
1337   public static final Output output(String name) {
1338      return new Output(name);
1339   }
1340
1341   /**
1342    * Creates an empty {@link P} element.
1343    *
1344    * @return The new element.
1345    */
1346   public static final P p() {
1347      return new P();
1348   }
1349
1350   /**
1351    * Creates a {@link P} element with the specified child nodes.
1352    *
1353    * @param children The child nodes.
1354    * @return The new element.
1355    */
1356   public static final P p(Object...children) {
1357      return new P(children);
1358   }
1359
1360   /**
1361    * Creates an empty {@link Param} element.
1362    *
1363    * @return The new element.
1364    */
1365   public static final Param param() {
1366      return new Param();
1367   }
1368
1369   /**
1370    * Creates a {@link Param} element with the specified {@link Param#name(String)} and {@link Param#value(Object)}
1371    * attributes.
1372    *
1373    * @param name The {@link Param#name(String)} attribute.
1374    * @param value The {@link Param#value(Object)} attribute.
1375    * @return The new element.
1376    */
1377   public static final Param param(String name, Object value) {
1378      return new Param(name, value);
1379   }
1380
1381   /**
1382    * Creates an empty {@link Pre} element.
1383    *
1384    * @return The new element.
1385    */
1386   public static final Pre pre() {
1387      return new Pre();
1388   }
1389
1390   /**
1391    * Creates a {@link Pre} element with the specified child nodes.
1392    *
1393    * @param children The child nodes.
1394    * @return The new element.
1395    */
1396   public static final Pre pre(Object...children) {
1397      return new Pre(children);
1398   }
1399
1400   /**
1401    * Creates an empty {@link Progress} element.
1402    *
1403    * @return The new element.
1404    */
1405   public static final Progress progress() {
1406      return new Progress();
1407   }
1408
1409   /**
1410    * Creates a {@link Progress} element with the specified child nodes.
1411    *
1412    * @param children The child nodes.
1413    * @return The new element.
1414    */
1415   public static final Progress progress(Object...children) {
1416      return new Progress(children);
1417   }
1418
1419   /**
1420    * Creates an empty {@link Q} element.
1421    *
1422    * @return The new element.
1423    */
1424   public static final Q q() {
1425      return new Q();
1426   }
1427
1428   /**
1429    * Creates a {@link Q} element with the specified child nodes.
1430    *
1431    * @param children The child nodes.
1432    * @return The new element.
1433    */
1434   public static final Q q(Object...children) {
1435      return new Q(children);
1436   }
1437
1438   /**
1439    * Creates an empty {@link Rb} element.
1440    *
1441    * @return The new element.
1442    */
1443   public static final Rb rb() {
1444      return new Rb();
1445   }
1446
1447   /**
1448    * Creates a {@link Rb} element with the specified {@link Rb#children(Object[])} nodes.
1449    *
1450    * @param children The {@link Rb#children(Object[])} nodes.
1451    * @return The new element.
1452    */
1453   public static final Rb rb(Object...children) {
1454      return new Rb(children);
1455   }
1456
1457   /**
1458    * Creates an empty {@link Rp} element.
1459    *
1460    * @return The new element.
1461    */
1462   public static final Rp rp() {
1463      return new Rp();
1464   }
1465
1466   /**
1467    * Creates a {@link Rp} element with the specified {@link Rp#children(Object[])} nodes.
1468    *
1469    * @param children The {@link Rp#children(Object[])} nodes.
1470    * @return The new element.
1471    */
1472   public static final Rp rp(Object...children) {
1473      return new Rp(children);
1474   }
1475
1476   /**
1477    * Creates an empty {@link Rt} element.
1478    *
1479    * @return The new element.
1480    */
1481   public static final Rt rt() {
1482      return new Rt();
1483   }
1484
1485   /**
1486    * Creates a {@link Rt} element with the specified {@link Rt#children(Object[])} nodes.
1487    *
1488    * @param children The {@link Rt#children(Object[])} nodes.
1489    * @return The new element.
1490    */
1491   public static final Rt rt(Object...children) {
1492      return new Rt(children);
1493   }
1494
1495   /**
1496    * Creates an empty {@link Rtc} element.
1497    *
1498    * @return The new element.
1499    */
1500   public static final Rtc rtc() {
1501      return new Rtc();
1502   }
1503
1504   /**
1505    * Creates an {@link Rtc} element with the specified child nodes.
1506    *
1507    * @param children The child nodes.
1508    * @return The new element.
1509    */
1510   public static final Rtc rtc(Object...children) {
1511      return new Rtc(children);
1512   }
1513
1514   /**
1515    * Creates an empty {@link Ruby} element.
1516    *
1517    * @return The new element.
1518    */
1519   public static final Ruby ruby() {
1520      return new Ruby();
1521   }
1522
1523   /**
1524    * Creates a {@link Ruby} element with the specified child nodes.
1525    *
1526    * @param children The child nodes.
1527    * @return The new element.
1528    */
1529   public static final Ruby ruby(Object...children) {
1530      return new Ruby(children);
1531   }
1532
1533   /**
1534    * Creates an empty {@link S} element.
1535    *
1536    * @return The new element.
1537    */
1538   public static final S s() {
1539      return new S();
1540   }
1541
1542   /**
1543    * Creates an {@link S} element with the specified child nodes.
1544    *
1545    * @param children The child nodes.
1546    * @return The new element.
1547    */
1548   public static final S s(Object...children) {
1549      return new S(children);
1550   }
1551
1552   /**
1553    * Creates an empty {@link Samp} element.
1554    *
1555    * @return The new element.
1556    */
1557   public static final Samp samp() {
1558      return new Samp();
1559   }
1560
1561   /**
1562    * Creates a {@link Samp} element with the specified child nodes.
1563    *
1564    * @param children The child nodes.
1565    * @return The new element.
1566    */
1567   public static final Samp samp(Object...children) {
1568      return new Samp(children);
1569   }
1570
1571   /**
1572    * Creates an empty {@link Script} element.
1573    *
1574    * @return The new element.
1575    */
1576   public static final Script script() {
1577      return new Script();
1578   }
1579
1580   /**
1581    * Creates a {@link Script} element with the specified {@link Script#type(String)} attribute and
1582    * {@link Script#text(Object)} node.
1583    *
1584    * @param type The {@link Script#type(String)} attribute.
1585    * @param text The child text node.
1586    * @return The new element.
1587    */
1588   public static final Script script(String type, String...text) {
1589      return new Script(type, text);
1590   }
1591
1592   /**
1593    * Creates an empty {@link Section} element.
1594    *
1595    * @return The new element.
1596    */
1597   public static final Section section() {
1598      return new Section();
1599   }
1600
1601   /**
1602    * Creates a {@link Section} element with the specified child nodes.
1603    *
1604    * @param children The child nodes.
1605    * @return The new element.
1606    */
1607   public static final Section section(Object...children) {
1608      return new Section(children);
1609   }
1610
1611   /**
1612    * Creates an empty {@link Select} element.
1613    *
1614    * @return The new element.
1615    */
1616   public static final Select select() {
1617      return new Select();
1618   }
1619
1620   /**
1621    * Creates a {@link Select} element with the specified {@link Select#name(String)} attribute and child nodes.
1622    *
1623    * @param name The {@link Select#name(String)} attribute.
1624    * @param children The child nodes.
1625    * @return The new element.
1626    */
1627   public static final Select select(String name, Object...children) {
1628      return new Select(name, children);
1629   }
1630
1631   /**
1632    * Creates an empty {@link Small} element.
1633    *
1634    * @return The new element.
1635    */
1636   public static final Small small() {
1637      return new Small();
1638   }
1639
1640   /**
1641    * Creates a {@link Small} element with the specified child nodes.
1642    *
1643    * @param children The child nodes.
1644    * @return The new element.
1645    */
1646   public static final Small small(Object...children) {
1647      return new Small(children);
1648   }
1649
1650   /**
1651    * Creates an empty {@link Source} element.
1652    *
1653    * @return The new element.
1654    */
1655   public static final Source source() {
1656      return new Source();
1657   }
1658
1659   /**
1660    * Creates a {@link Source} element with the specified {@link Source#src(Object)} and {@link Source#type(String)}
1661    * attributes.
1662    *
1663    * @param src The {@link Source#src(Object)} attribute.
1664    * @param type The {@link Source#type(String)} attribute.
1665    * @return The new element.
1666    */
1667   public static final Source source(Object src, String type) {
1668      return new Source(src, type);
1669   }
1670
1671   /**
1672    * Creates an empty {@link Span} element.
1673    *
1674    * @return The new element.
1675    */
1676   public static final Span span() {
1677      return new Span();
1678   }
1679
1680   /**
1681    * Creates a {@link Span} element with the specified child nodes.
1682    *
1683    * @param children The child nodes.
1684    * @return The new element.
1685    */
1686   public static final Span span(Object...children) {
1687      return new Span(children);
1688   }
1689
1690   /**
1691    * Creates an empty {@link Strong} element.
1692    *
1693    * @return The new element.
1694    */
1695   public static final Strong strong() {
1696      return new Strong();
1697   }
1698
1699   /**
1700    * Creates a {@link Strong} element with the specified child nodes.
1701    *
1702    * @param children The child nodes.
1703    * @return The new element.
1704    */
1705   public static final Strong strong(Object...children) {
1706      return new Strong(children);
1707   }
1708
1709   /**
1710    * Creates an empty {@link Style} element.
1711    *
1712    * @return The new element.
1713    */
1714   public static final Style style() {
1715      return new Style();
1716   }
1717
1718   /**
1719    * Creates a {@link Style} element with the specified {@link Style#text(Object)} node.
1720    *
1721    * @param text The {@link Style#text(Object)} node.
1722    * @return The new element.
1723    */
1724   public static final Style style(Object text) {
1725      return new Style(text);
1726   }
1727
1728   /**
1729    * Creates a {@link Style} element with the specified inner text.
1730    *
1731    * @param text
1732    *    The contents of the style element.
1733    *    <br>Values will be concatenated with newlines.
1734    * @return The new element.
1735    */
1736   public static final Style style(String...text) {
1737      return new Style(text);
1738   }
1739
1740   /**
1741    * Creates an empty {@link Sub} element.
1742    *
1743    * @return The new element.
1744    */
1745   public static final Sub sub() {
1746      return new Sub();
1747   }
1748
1749   /**
1750    * Creates a {@link Sub} element with the specified child nodes.
1751    *
1752    * @param children The child nodes.
1753    * @return The new element.
1754    */
1755   public static final Sub sub(Object...children) {
1756      return new Sub(children);
1757   }
1758
1759   /**
1760    * Creates an empty {@link Sup} element.
1761    *
1762    * @return The new element.
1763    */
1764   public static final Sup sup() {
1765      return new Sup();
1766   }
1767
1768   /**
1769    * Creates a {@link Sup} element with the specified child nodes.
1770    *
1771    * @param children The child nodes.
1772    * @return The new element.
1773    */
1774   public static final Sup sup(Object...children) {
1775      return new Sup(children);
1776   }
1777
1778   /**
1779    * Creates an empty {@link Table} element.
1780    *
1781    * @return The new element.
1782    */
1783   public static final Table table() {
1784      return new Table();
1785   }
1786
1787   /**
1788    * Creates a {@link Table} element with the specified child nodes.
1789    *
1790    * @param children The child nodes.
1791    * @return The new element.
1792    */
1793   public static final Table table(Object...children) {
1794      return new Table(children);
1795   }
1796
1797   /**
1798    * Creates an empty {@link Tbody} element.
1799    *
1800    * @return The new element.
1801    */
1802   public static final Tbody tbody() {
1803      return new Tbody();
1804   }
1805
1806   /**
1807    * Creates a {@link Tbody} element with the specified child nodes.
1808    *
1809    * @param children The child nodes.
1810    * @return The new element.
1811    */
1812   public static final Tbody tbody(Object...children) {
1813      return new Tbody(children);
1814   }
1815
1816   /**
1817    * Creates an empty {@link Td} element.
1818    *
1819    * @return The new element.
1820    */
1821   public static final Td td() {
1822      return new Td();
1823   }
1824
1825   /**
1826    * Creates a {@link Td} element with the specified child nodes.
1827    *
1828    * @param children The child nodes.
1829    * @return The new element.
1830    */
1831   public static final Td td(Object...children) {
1832      return new Td(children);
1833   }
1834
1835   /**
1836    * Creates an empty {@link Template} element.
1837    *
1838    * @return The new element.
1839    */
1840   public static final Template template() {
1841      return new Template();
1842   }
1843
1844   /**
1845    * Creates a {@link Template} element with the specified {@link Template#id(String)} attribute and child nodes.
1846    *
1847    * @param id The {@link Template#id(String)} attribute.
1848    * @param children The child nodes.
1849    * @return The new element.
1850    */
1851   public static final Template template(String id, Object...children) {
1852      return new Template(id, children);
1853   }
1854
1855   /**
1856    * Creates an empty {@link Textarea} element.
1857    *
1858    * @return The new element.
1859    */
1860   public static final Textarea textarea() {
1861      return new Textarea();
1862   }
1863
1864   /**
1865    * Creates a {@link Textarea} element with the specified {@link Textarea#name(String)} attribute and
1866    * {@link Textarea#text(Object)} node.
1867    *
1868    * @param name The {@link Textarea#name(String)} attribute.
1869    * @param text The {@link Textarea#text(Object)} node.
1870    * @return The new element.
1871    */
1872   public static final Textarea textarea(String name, String text) {
1873      return new Textarea(name, text);
1874   }
1875
1876   /**
1877    * Creates an empty {@link Tfoot} element.
1878    *
1879    * @return The new element.
1880    */
1881   public static final Tfoot tfoot() {
1882      return new Tfoot();
1883   }
1884
1885   /**
1886    * Creates a {@link Tfoot} element with the specified child nodes.
1887    *
1888    * @param children The child nodes.
1889    * @return The new element.
1890    */
1891   public static final Tfoot tfoot(Object...children) {
1892      return new Tfoot(children);
1893   }
1894
1895   /**
1896    * Creates an empty {@link Th} element.
1897    *
1898    * @return The new element.
1899    */
1900   public static final Th th() {
1901      return new Th();
1902   }
1903
1904   /**
1905    * Creates a {@link Th} element with the specified child nodes.
1906    *
1907    * @param children The child nodes.
1908    * @return The new element.
1909    */
1910   public static final Th th(Object...children) {
1911      return new Th(children);
1912   }
1913
1914   /**
1915    * Creates an empty {@link Thead} element.
1916    *
1917    * @return The new element.
1918    */
1919   public static final Thead thead() {
1920      return new Thead();
1921   }
1922
1923   /**
1924    * Creates a {@link Thead} element with the specified child nodes.
1925    *
1926    * @param children The child nodes.
1927    * @return The new element.
1928    */
1929   public static final Thead thead(Object...children) {
1930      return new Thead(children);
1931   }
1932
1933   /**
1934    * Creates an empty {@link Time} element.
1935    *
1936    * @return The new element.
1937    */
1938   public static final Time time() {
1939      return new Time();
1940   }
1941
1942   /**
1943    * Creates a {@link Time} element with the specified {@link Time#children(Object[])} nodes.
1944    *
1945    * @param children The {@link Time#children(Object[])} nodes.
1946    * @return The new element.
1947    */
1948   public static final Time time(Object...children) {
1949      return new Time(children);
1950   }
1951
1952   /**
1953    * Creates an empty {@link Title} element.
1954    *
1955    * @return The new element.
1956    */
1957   public static final Title title() {
1958      return new Title();
1959   }
1960
1961   /**
1962    * Creates a {@link Title} element with the specified {@link Title#text(Object)} node.
1963    *
1964    * @param text The {@link Title#text(Object)} node.
1965    * @return The new element.
1966    */
1967   public static final Title title(String text) {
1968      return new Title(text);
1969   }
1970
1971   /**
1972    * Creates an empty {@link Tr} element.
1973    *
1974    * @return The new element.
1975    */
1976   public static final Tr tr() {
1977      return new Tr();
1978   }
1979
1980   /**
1981    * Creates a {@link Tr} element with the specified child nodes.
1982    *
1983    * @param children The child nodes.
1984    * @return The new element.
1985    */
1986   public static final Tr tr(Object...children) {
1987      return new Tr(children);
1988   }
1989
1990   /**
1991    * Creates an empty {@link Track} element.
1992    *
1993    * @return The new element.
1994    */
1995   public static final Track track() {
1996      return new Track();
1997   }
1998
1999   /**
2000    * Creates a {@link Track} element with the specified {@link Track#src(Object)} and {@link Track#kind(String)}
2001    * attributes.
2002    *
2003    * @param src The {@link Track#src(Object)} attribute.
2004    * @param kind The {@link Track#kind(String)} attribute.
2005    * @return The new element.
2006    */
2007   public static final Track track(Object src, String kind) {
2008      return new Track(src, kind);
2009   }
2010
2011   /**
2012    * Creates an empty {@link U} element.
2013    *
2014    * @return The new element.
2015    */
2016   public static final U u() {
2017      return new U();
2018   }
2019
2020   /**
2021    * Creates a {@link U} element with the specified child nodes.
2022    *
2023    * @param children The child nodes.
2024    * @return The new element.
2025    */
2026   public static final U u(Object...children) {
2027      return new U(children);
2028   }
2029
2030   /**
2031    * Creates an empty {@link Ul} element.
2032    *
2033    * @return The new element.
2034    */
2035   public static final Ul ul() {
2036      return new Ul();
2037   }
2038
2039   /**
2040    * Creates a {@link Ul} element with the specified child nodes.
2041    *
2042    * @param children The child nodes.
2043    * @return The new element.
2044    */
2045   public static final Ul ul(Object...children) {
2046      return new Ul(children);
2047   }
2048
2049   /**
2050    * Creates an empty {@link Var} element.
2051    *
2052    * @return The new element.
2053    */
2054   public static final Var var() {
2055      return new Var();
2056   }
2057
2058   /**
2059    * Creates a {@link Var} element with the specified child nodes.
2060    *
2061    * @param children The child nodes.
2062    * @return The new element.
2063    */
2064   public static final Var var(Object...children) {
2065      return new Var(children);
2066   }
2067
2068   /**
2069    * Creates an empty {@link Video} element.
2070    *
2071    * @return The new element.
2072    */
2073   public static final Video video() {
2074      return new Video();
2075   }
2076
2077   /**
2078    * Creates a {@link Video} element with the specified {@link Video#src(Object)} attribute.
2079    *
2080    * @param src The {@link Video#src(Object)} attribute.
2081    * @return The new element.
2082    */
2083   public static final Video video(Object src) {
2084      return new Video(src);
2085   }
2086
2087   /**
2088    * Creates an empty {@link Wbr} element.
2089    *
2090    * @return The new element.
2091    */
2092   public static final Wbr wbr() {
2093      return new Wbr();
2094   }
2095}