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