View Javadoc
1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one
3    * or more contributor license agreements.  See the NOTICE file
4    * distributed with this work for additional information
5    * regarding copyright ownership.  The ASF licenses this file
6    * to you under the Apache License, Version 2.0 (the
7    * "License"); you may not use this file except in compliance
8    * with the License.  You may obtain a copy of the License at
9    *
10   *   http://www.apache.org/licenses/LICENSE-2.0
11   *
12   * Unless required by applicable law or agreed to in writing,
13   * software distributed under the License is distributed on an
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15   * KIND, either express or implied.  See the License for the
16   * specific language governing permissions and limitations
17   * under the License.
18   */
19  package org.apache.maven.doxia.markup;
20  
21  import javax.swing.text.html.HTML.Tag;
22  
23  /**
24   * List of <code>Html</code> tags.
25   * <p>
26   * This should contain all valid HTML5 tags, comprising the tags
27   * in {@link javax.swing.text.html.HTML.Tag} plus several others.
28   * </p>
29   *
30   * @see <a href=
31   *      "https://www.tutorialrepublic.com/html-reference/html5-tags.php">
32   *      https://www.tutorialrepublic.com/html-reference/html5-tags.php</a>
33   * @author ltheussl
34   * @since 1.0
35   */
36  @SuppressWarnings("checkstyle:interfaceistype")
37  public interface HtmlMarkup extends XmlMarkup {
38  
39      /** A simple HTML tag. Eg <code>&lt;br/&gt;</code>. */
40      int TAG_TYPE_SIMPLE = 1;
41  
42      /** A start HTML tag. Eg <code>&lt;p&gt;</code>. */
43      int TAG_TYPE_START = 2;
44  
45      /** An end HTML tag. Eg <code>&lt;/p&gt;</code>. */
46      int TAG_TYPE_END = 3;
47  
48      /**
49       * An HTML entity. Eg <code>&amp;lt;</code>.
50       *
51       * @since 1.1.1.
52       */
53      int ENTITY_TYPE = 4;
54  
55      /**
56       * A CDATA type event.
57       *
58       * @since 1.1.1.
59       */
60      int CDATA_TYPE = 5;
61  
62      // ----------------------------------------------------------------------
63      // All HTML5 1.0 tags
64      // ----------------------------------------------------------------------
65  
66      /** HTML5 tag for <code>a</code>. */
67      Tag A = Tag.A;
68  
69      /** HTML5 tag for <code>abbr</code>. */
70      Tag ABBR = new Tag() {
71          /** {@inheritDoc} */
72          @Override
73          public String toString() {
74              return "abbr";
75          }
76      };
77  
78      /** HTML5 tag for <code>address</code>. */
79      Tag ADDRESS = Tag.ADDRESS;
80  
81      /** HTML5 tag for <code>area</code>. */
82      Tag AREA = Tag.AREA;
83  
84      /** HTML5 tag for <code>article</code>. */
85      Tag ARTICLE = new Tag() {
86          /** {@inheritDoc} */
87          @Override
88          public String toString() {
89              return "article";
90          }
91      };
92  
93      /** HTML5 tag for <code>aside</code>. */
94      Tag ASIDE = new Tag() {
95          /** {@inheritDoc} */
96          @Override
97          public String toString() {
98              return "aside";
99          }
100     };
101 
102     /** HTML5 tag for <code>audio</code>. */
103     Tag AUDIO = new Tag() {
104         /** {@inheritDoc} */
105         @Override
106         public String toString() {
107             return "audio";
108         }
109     };
110 
111     /** HTML5 tag for <code>b</code>. */
112     Tag B = Tag.B;
113 
114     /** HTML5 tag for <code>base</code>. */
115     Tag BASE = Tag.BASE;
116 
117     /** HTML5 tag for <code>bdi</code>. */
118     Tag BDI = new Tag() {
119         /** {@inheritDoc} */
120         @Override
121         public String toString() {
122             return "bdi";
123         }
124     };
125 
126     /** HTML5 tag for <code>bdo</code>. */
127     Tag BDO = new Tag() {
128         /** {@inheritDoc} */
129         @Override
130         public String toString() {
131             return "bdo";
132         }
133     };
134 
135     /** HTML5 tag for <code>blockquote</code>. */
136     Tag BLOCKQUOTE = Tag.BLOCKQUOTE;
137 
138     /** HTML5 tag for <code>body</code>. */
139     Tag BODY = Tag.BODY;
140 
141     /** HTML5 tag for <code>br</code>. */
142     Tag BR = Tag.BR;
143 
144     /** HTML5 tag for <code>button</code>. */
145     Tag BUTTON = new Tag() {
146         /** {@inheritDoc} */
147         @Override
148         public String toString() {
149             return "button";
150         }
151     };
152 
153     /** HTML5 tag for <code>canvas</code>. */
154     Tag CANVAS = new Tag() {
155         /** {@inheritDoc} */
156         @Override
157         public String toString() {
158             return "canvas";
159         }
160     };
161 
162     /** HTML5 tag for <code>caption</code>. */
163     Tag CAPTION = Tag.CAPTION;
164 
165     /** HTML5 tag for <code>cite</code>. */
166     Tag CITE = Tag.CITE;
167 
168     /** HTML5 tag for <code>code</code>. */
169     Tag CODE = Tag.CODE;
170 
171     /** HTML5 tag for <code>col</code>. */
172     Tag COL = new Tag() {
173         /** {@inheritDoc} */
174         @Override
175         public String toString() {
176             return "col";
177         }
178     };
179 
180     /** HTML5 tag for <code>colgroup</code>. */
181     Tag COLGROUP = new Tag() {
182         /** {@inheritDoc} */
183         @Override
184         public String toString() {
185             return "colgroup";
186         }
187     };
188 
189     /** HTML5 tag for <code>command</code>. */
190     Tag COMMAND = new Tag() {
191         /** {@inheritDoc} */
192         @Override
193         public String toString() {
194             return "command";
195         }
196     };
197 
198     /** HTML5 tag for <code>data</code>. */
199     Tag DATA = new Tag() {
200         /** {@inheritDoc} */
201         @Override
202         public String toString() {
203             return "data";
204         }
205     };
206 
207     /** HTML5 tag for <code>datalist</code>. */
208     Tag DATALIST = new Tag() {
209         /** {@inheritDoc} */
210         @Override
211         public String toString() {
212             return "datalist";
213         }
214     };
215 
216     /** HTML5 tag for <code>dd</code>. */
217     Tag DD = Tag.DD;
218 
219     /** HTML5 tag for <code>del</code>. */
220     Tag DEL = new Tag() {
221         /** {@inheritDoc} */
222         @Override
223         public String toString() {
224             return "del";
225         }
226     };
227 
228     /** HTML5 tag for <code>details</code>. */
229     Tag DETAILS = new Tag() {
230         /** {@inheritDoc} */
231         @Override
232         public String toString() {
233             return "details";
234         }
235     };
236 
237     /** HTML5 tag for <code>dfn</code>. */
238     Tag DFN = Tag.DFN;
239 
240     /** HTML5 tag for <code>dialog</code>. */
241     Tag DIALOG = new Tag() {
242         /** {@inheritDoc} */
243         @Override
244         public String toString() {
245             return "dialog";
246         }
247     };
248 
249     /** HTML5 tag for <code>div</code>. */
250     Tag DIV = Tag.DIV;
251 
252     /** HTML5 tag for <code>dl</code>. */
253     Tag DL = Tag.DL;
254 
255     /** HTML5 tag for <code>dt</code>. */
256     Tag DT = Tag.DT;
257 
258     /** HTML5 tag for <code>em</code>. */
259     Tag EM = Tag.EM;
260 
261     /** HTML5 tag for <code>embed</code>. */
262     Tag EMBED = new Tag() {
263         /** {@inheritDoc} */
264         @Override
265         public String toString() {
266             return "embed";
267         }
268     };
269 
270     /** HTML5 tag for <code>fieldset</code>. */
271     Tag FIELDSET = new Tag() {
272         /** {@inheritDoc} */
273         @Override
274         public String toString() {
275             return "fieldset";
276         }
277     };
278 
279     /** HTML5 tag for <code>figcaption</code>. */
280     Tag FIGCAPTION = new Tag() {
281         /** {@inheritDoc} */
282         @Override
283         public String toString() {
284             return "figcaption";
285         }
286     };
287 
288     /** HTML5 tag for <code>figure</code>. */
289     Tag FIGURE = new Tag() {
290         /** {@inheritDoc} */
291         @Override
292         public String toString() {
293             return "figure";
294         }
295     };
296 
297     /** HTML5 tag for <code>footer</code>. */
298     Tag FOOTER = new Tag() {
299         /** {@inheritDoc} */
300         @Override
301         public String toString() {
302             return "footer";
303         }
304     };
305 
306     /** HTML5 tag for <code>form</code>. */
307     Tag FORM = Tag.FORM;
308 
309     /** HTML5 tag for <code>h1</code>. */
310     Tag H1 = Tag.H1;
311 
312     /** HTML5 tag for <code>h2</code>. */
313     Tag H2 = Tag.H2;
314 
315     /** HTML5 tag for <code>h3</code>. */
316     Tag H3 = Tag.H3;
317 
318     /** HTML5 tag for <code>h4</code>. */
319     Tag H4 = Tag.H4;
320 
321     /** HTML5 tag for <code>h5</code>. */
322     Tag H5 = Tag.H5;
323 
324     /** HTML5 tag for <code>h6</code>. */
325     Tag H6 = Tag.H6;
326 
327     /** HTML5 tag for <code>head</code>. */
328     Tag HEAD = Tag.HEAD;
329 
330     /** HTML5 tag for <code>header</code>. */
331     Tag HEADER = new Tag() {
332         /** {@inheritDoc} */
333         @Override
334         public String toString() {
335             return "header";
336         }
337     };
338 
339     /** HTML5 tag for <code>hgroup</code>. */
340     Tag HGROUP = new Tag() {
341         /** {@inheritDoc} */
342         @Override
343         public String toString() {
344             return "hgroup";
345         }
346     };
347 
348     /** HTML5 tag for <code>hr</code>. */
349     Tag HR = Tag.HR;
350 
351     /** HTML5 tag for <code>html</code>. */
352     Tag HTML = Tag.HTML;
353 
354     /** HTML5 tag for <code>i</code>. */
355     Tag I = Tag.I;
356 
357     /** HTML5 tag for <code>iframe</code>. */
358     Tag IFRAME = new Tag() {
359         /** {@inheritDoc} */
360         @Override
361         public String toString() {
362             return "iframe";
363         }
364     };
365 
366     /** HTML5 tag for <code>img</code>. */
367     Tag IMG = Tag.IMG;
368 
369     /** HTML5 tag for <code>input</code>. */
370     Tag INPUT = Tag.INPUT;
371 
372     /** HTML5 tag for <code>ins</code>. */
373     Tag INS = new Tag() {
374         /** {@inheritDoc} */
375         @Override
376         public String toString() {
377             return "ins";
378         }
379     };
380 
381     /** HTML5 tag for <code>kbd</code>. */
382     Tag KBD = Tag.KBD;
383 
384     /** HTML5 tag for <code>keygen</code>. */
385     Tag KEYGEN = new Tag() {
386         /** {@inheritDoc} */
387         @Override
388         public String toString() {
389             return "keygen";
390         }
391     };
392 
393     /** HTML5 tag for <code>label</code>. */
394     Tag LABEL = new Tag() {
395         /** {@inheritDoc} */
396         @Override
397         public String toString() {
398             return "label";
399         }
400     };
401 
402     /** HTML5 tag for <code>legend</code>. */
403     Tag LEGEND = new Tag() {
404         /** {@inheritDoc} */
405         @Override
406         public String toString() {
407             return "legend";
408         }
409     };
410 
411     /** HTML5 tag for <code>li</code>. */
412     Tag LI = Tag.LI;
413 
414     /** HTML5 tag for <code>link</code>. */
415     Tag LINK = Tag.LINK;
416 
417     /** HTML5 tag for <code>map</code>. */
418     Tag MAP = Tag.MAP;
419 
420     /** HTML5 tag for <code>main</code>. */
421     Tag MAIN = new Tag() {
422         /** {@inheritDoc} */
423         @Override
424         public String toString() {
425             return "main";
426         }
427     };
428 
429     /** HTML5 tag for <code>mark</code>. */
430     Tag MARK = new Tag() {
431         /** {@inheritDoc} */
432         @Override
433         public String toString() {
434             return "mark";
435         }
436     };
437 
438     /** HTML5 tag for <code>menu</code>. */
439     Tag MENU = Tag.MENU;
440 
441     /** HTML5 tag for <code>menuitem</code>. */
442     Tag MENUITEM = new Tag() {
443         /** {@inheritDoc} */
444         @Override
445         public String toString() {
446             return "menuitem";
447         }
448     };
449 
450     /** HTML5 tag for <code>meta</code>. */
451     Tag META = Tag.META;
452 
453     /** HTML5 tag for <code>meter</code>. */
454     Tag METER = new Tag() {
455         /** {@inheritDoc} */
456         @Override
457         public String toString() {
458             return "meter";
459         }
460     };
461 
462     /** HTML5 tag for <code>nav</code>. */
463     Tag NAV = new Tag() {
464         /** {@inheritDoc} */
465         @Override
466         public String toString() {
467             return "nav";
468         }
469     };
470 
471     /** HTML5 tag for <code>noscript</code>. */
472     Tag NOSCRIPT = new Tag() {
473         /** {@inheritDoc} */
474         @Override
475         public String toString() {
476             return "noscript";
477         }
478     };
479 
480     /** HTML5 tag for <code>object</code>. */
481     Tag OBJECT = Tag.OBJECT;
482 
483     /** HTML5 tag for <code>ol</code>. */
484     Tag OL = Tag.OL;
485 
486     /** HTML5 tag for <code>optgroup</code>. */
487     Tag OPTGROUP = new Tag() {
488         /** {@inheritDoc} */
489         @Override
490         public String toString() {
491             return "optgroup";
492         }
493     };
494 
495     /** HTML5 tag for <code>option</code>. */
496     Tag OPTION = Tag.OPTION;
497 
498     /** HTML5 tag for <code>output</code>. */
499     Tag OUTPUT = new Tag() {
500         /** {@inheritDoc} */
501         @Override
502         public String toString() {
503             return "output";
504         }
505     };
506 
507     /** HTML5 tag for <code>p</code>. */
508     Tag P = Tag.P;
509 
510     /** HTML5 tag for <code>param</code>. */
511     Tag PARAM = Tag.PARAM;
512 
513     /** HTML5 tag for <code>picture</code>. */
514     Tag PICTURE = new Tag() {
515         /** {@inheritDoc} */
516         @Override
517         public String toString() {
518             return "picture";
519         }
520     };
521 
522     /** HTML5 tag for <code>pre</code>. */
523     Tag PRE = Tag.PRE;
524 
525     /** HTML5 tag for <code>progress</code>. */
526     Tag PROGRESS = new Tag() {
527         /** {@inheritDoc} */
528         @Override
529         public String toString() {
530             return "progress";
531         }
532     };
533 
534     /** HTML5 tag for <code>q</code>. */
535     Tag Q = new Tag() {
536         /** {@inheritDoc} */
537         @Override
538         public String toString() {
539             return "q";
540         }
541     };
542 
543     /** HTML5 tag for <code>rb</code>. */
544     Tag RB = new Tag() {
545         /** {@inheritDoc} */
546         @Override
547         public String toString() {
548             return "rb";
549         }
550     };
551 
552     /** HTML5 tag for <code>rp</code>. */
553     Tag RP = new Tag() {
554         /** {@inheritDoc} */
555         @Override
556         public String toString() {
557             return "rp";
558         }
559     };
560 
561     /** HTML5 tag for <code>rt</code>. */
562     Tag RT = new Tag() {
563         /** {@inheritDoc} */
564         @Override
565         public String toString() {
566             return "rt";
567         }
568     };
569 
570     /** HTML5 tag for <code>rtc</code>. */
571     Tag RTC = new Tag() {
572         /** {@inheritDoc} */
573         @Override
574         public String toString() {
575             return "rtc";
576         }
577     };
578 
579     /** HTML5 tag for <code>ruby</code>. */
580     Tag RUBY = new Tag() {
581         /** {@inheritDoc} */
582         @Override
583         public String toString() {
584             return "ruby";
585         }
586     };
587 
588     /** HTML5 tag for <code>s</code>. */
589     Tag S = Tag.S;
590 
591     /** HTML5 tag for <code>samp</code>. */
592     Tag SAMP = Tag.SAMP;
593 
594     /** HTML5 tag for <code>script</code>. */
595     Tag SCRIPT = Tag.SCRIPT;
596 
597     /** HTML5 tag for <code>section</code>. */
598     Tag SECTION = new Tag() {
599         /** {@inheritDoc} */
600         @Override
601         public String toString() {
602             return "section";
603         }
604     };
605 
606     /** HTML5 tag for <code>select</code>. */
607     Tag SELECT = Tag.SELECT;
608 
609     /** HTML5 tag for <code>small</code>. */
610     Tag SMALL = Tag.SMALL;
611 
612     /** HTML5 tag for <code>source</code>. */
613     Tag SOURCE = new Tag() {
614         /** {@inheritDoc} */
615         @Override
616         public String toString() {
617             return "source";
618         }
619     };
620 
621     /** HTML5 tag for <code>span</code>. */
622     Tag SPAN = Tag.SPAN;
623 
624     /** HTML5 tag for <code>strong</code>. */
625     Tag STRONG = Tag.STRONG;
626 
627     /** HTML5 tag for <code>style</code>. */
628     Tag STYLE = Tag.STYLE;
629 
630     /** HTML5 tag for <code>sub</code>. */
631     Tag SUB = Tag.SUB;
632 
633     /** HTML5 tag for <code>summary</code>. */
634     Tag SUMMARY = new Tag() {
635         /** {@inheritDoc} */
636         @Override
637         public String toString() {
638             return "summary";
639         }
640     };
641 
642     /** HTML5 tag for <code>sup</code>. */
643     Tag SUP = Tag.SUP;
644 
645     /** HTML5 tag for <code>svg</code>. */
646     Tag SVG = new Tag() {
647         /** {@inheritDoc} */
648         @Override
649         public String toString() {
650             return "svg";
651         }
652     };
653 
654     /** HTML5 tag for <code>table</code>. */
655     Tag TABLE = Tag.TABLE;
656 
657     /** HTML5 tag for <code>tbody</code>. */
658     Tag TBODY = new Tag() {
659         /** {@inheritDoc} */
660         @Override
661         public String toString() {
662             return "tbody";
663         }
664     };
665 
666     /** HTML5 tag for <code>td</code>. */
667     Tag TD = Tag.TD;
668 
669     /** HTML5 tag for <code>template</code>. */
670     Tag TEMPLATE = new Tag() {
671         /** {@inheritDoc} */
672         @Override
673         public String toString() {
674             return "template";
675         }
676     };
677 
678     /** HTML5 tag for <code>textarea</code>. */
679     Tag TEXTAREA = Tag.TEXTAREA;
680 
681     /** HTML5 tag for <code>tfoot</code>. */
682     Tag TFOOT = new Tag() {
683         /** {@inheritDoc} */
684         @Override
685         public String toString() {
686             return "tfoot";
687         }
688     };
689 
690     /** HTML5 tag for <code>th</code>. */
691     Tag TH = Tag.TH;
692 
693     /** HTML5 tag for <code>thead</code>. */
694     Tag THEAD = new Tag() {
695         /** {@inheritDoc} */
696         @Override
697         public String toString() {
698             return "thead";
699         }
700     };
701 
702     /** HTML5 tag for <code>time</code>. */
703     Tag TIME = new Tag() {
704         /** {@inheritDoc} */
705         @Override
706         public String toString() {
707             return "time";
708         }
709     };
710 
711     /** HTML5 tag for <code>title</code>. */
712     Tag TITLE = Tag.TITLE;
713 
714     /** HTML5 tag for <code>tr</code>. */
715     Tag TR = Tag.TR;
716 
717     /** HTML5 tag for <code>track</code>. */
718     Tag TRACK = new Tag() {
719         /** {@inheritDoc} */
720         @Override
721         public String toString() {
722             return "track";
723         }
724     };
725 
726     /** HTML5 tag for <code>u</code>. */
727     Tag U = Tag.U;
728 
729     /** HTML5 tag for <code>ul</code>. */
730     Tag UL = Tag.UL;
731 
732     /** HTML5 tag for <code>var</code>. */
733     Tag VAR = Tag.VAR;
734 
735     /** HTML5 tag for <code>video</code>. */
736     Tag VIDEO = new Tag() {
737         /** {@inheritDoc} */
738         @Override
739         public String toString() {
740             return "video";
741         }
742     };
743 
744     /** HTML5 tag for <code>wbr</code>. */
745     Tag WBR = new Tag() {
746         /** {@inheritDoc} */
747         @Override
748         public String toString() {
749             return "wbr";
750         }
751     };
752 }