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