001/* 002 * Licensed to the Apache Software Foundation (ASF) under one 003 * or more contributor license agreements. See the NOTICE file 004 * distributed with this work for additional information 005 * regarding copyright ownership. The ASF licenses this file 006 * to you under the Apache License, Version 2.0 (the 007 * "License"); you may not use this file except in compliance 008 * with the License. You may obtain a copy of the License at 009 * 010 * http://www.apache.org/licenses/LICENSE-2.0 011 * 012 * Unless required by applicable law or agreed to in writing, 013 * software distributed under the License is distributed on an 014 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 015 * KIND, either express or implied. See the License for the 016 * specific language governing permissions and limitations 017 * under the License. 018 */ 019package org.apache.maven.doxia.markup; 020 021import javax.swing.text.html.HTML.Tag; 022 023/** 024 * List of <code>Html</code> tags. 025 * <p> 026 * This should contain all valid HTML5 tags, comprising the tags 027 * in {@link javax.swing.text.html.HTML.Tag} plus several others. 028 * </p> 029 * 030 * @see <a href= 031 * "https://www.tutorialrepublic.com/html-reference/html5-tags.php"> 032 * https://www.tutorialrepublic.com/html-reference/html5-tags.php</a> 033 * @author ltheussl 034 * @since 1.0 035 */ 036@SuppressWarnings("checkstyle:interfaceistype") 037public interface HtmlMarkup extends XmlMarkup { 038 039 /** A simple HTML tag. Eg <code><br/></code>. */ 040 int TAG_TYPE_SIMPLE = 1; 041 042 /** A start HTML tag. Eg <code><p></code>. */ 043 int TAG_TYPE_START = 2; 044 045 /** An end HTML tag. Eg <code></p></code>. */ 046 int TAG_TYPE_END = 3; 047 048 /** 049 * An HTML entity. Eg <code>&lt;</code>. 050 * 051 * @since 1.1.1. 052 */ 053 int ENTITY_TYPE = 4; 054 055 /** 056 * A CDATA type event. 057 * 058 * @since 1.1.1. 059 */ 060 int CDATA_TYPE = 5; 061 062 // ---------------------------------------------------------------------- 063 // All HTML5 1.0 tags 064 // ---------------------------------------------------------------------- 065 066 /** HTML5 tag for <code>a</code>. */ 067 Tag A = Tag.A; 068 069 /** HTML5 tag for <code>abbr</code>. */ 070 Tag ABBR = new Tag() { 071 /** {@inheritDoc} */ 072 @Override 073 public String toString() { 074 return "abbr"; 075 } 076 }; 077 078 /** HTML5 tag for <code>address</code>. */ 079 Tag ADDRESS = Tag.ADDRESS; 080 081 /** HTML5 tag for <code>area</code>. */ 082 Tag AREA = Tag.AREA; 083 084 /** HTML5 tag for <code>article</code>. */ 085 Tag ARTICLE = new Tag() { 086 /** {@inheritDoc} */ 087 @Override 088 public String toString() { 089 return "article"; 090 } 091 }; 092 093 /** HTML5 tag for <code>aside</code>. */ 094 Tag ASIDE = new Tag() { 095 /** {@inheritDoc} */ 096 @Override 097 public String toString() { 098 return "aside"; 099 } 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}