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 @Override 072 public String toString() { 073 return "abbr"; 074 } 075 }; 076 077 /** HTML5 tag for <code>address</code>. */ 078 Tag ADDRESS = Tag.ADDRESS; 079 080 /** HTML5 tag for <code>area</code>. */ 081 Tag AREA = Tag.AREA; 082 083 /** HTML5 tag for <code>article</code>. */ 084 Tag ARTICLE = new Tag() { 085 @Override 086 public String toString() { 087 return "article"; 088 } 089 }; 090 091 /** HTML5 tag for <code>aside</code>. */ 092 Tag ASIDE = new Tag() { 093 @Override 094 public String toString() { 095 return "aside"; 096 } 097 }; 098 099 /** HTML5 tag for <code>audio</code>. */ 100 Tag AUDIO = new Tag() { 101 @Override 102 public String toString() { 103 return "audio"; 104 } 105 }; 106 107 /** HTML5 tag for <code>b</code>. */ 108 Tag B = Tag.B; 109 110 /** HTML5 tag for <code>base</code>. */ 111 Tag BASE = Tag.BASE; 112 113 /** HTML5 tag for <code>bdi</code>. */ 114 Tag BDI = new Tag() { 115 @Override 116 public String toString() { 117 return "bdi"; 118 } 119 }; 120 121 /** HTML5 tag for <code>bdo</code>. */ 122 Tag BDO = new Tag() { 123 @Override 124 public String toString() { 125 return "bdo"; 126 } 127 }; 128 129 /** HTML5 tag for <code>blockquote</code>. */ 130 Tag BLOCKQUOTE = Tag.BLOCKQUOTE; 131 132 /** HTML5 tag for <code>body</code>. */ 133 Tag BODY = Tag.BODY; 134 135 /** HTML5 tag for <code>br</code>. */ 136 Tag BR = Tag.BR; 137 138 /** HTML5 tag for <code>button</code>. */ 139 Tag BUTTON = new Tag() { 140 @Override 141 public String toString() { 142 return "button"; 143 } 144 }; 145 146 /** HTML5 tag for <code>canvas</code>. */ 147 Tag CANVAS = new Tag() { 148 @Override 149 public String toString() { 150 return "canvas"; 151 } 152 }; 153 154 /** HTML5 tag for <code>caption</code>. */ 155 Tag CAPTION = Tag.CAPTION; 156 157 /** HTML5 tag for <code>cite</code>. */ 158 Tag CITE = Tag.CITE; 159 160 /** HTML5 tag for <code>code</code>. */ 161 Tag CODE = Tag.CODE; 162 163 /** HTML5 tag for <code>col</code>. */ 164 Tag COL = new Tag() { 165 @Override 166 public String toString() { 167 return "col"; 168 } 169 }; 170 171 /** HTML5 tag for <code>colgroup</code>. */ 172 Tag COLGROUP = new Tag() { 173 @Override 174 public String toString() { 175 return "colgroup"; 176 } 177 }; 178 179 /** HTML5 tag for <code>command</code>. */ 180 Tag COMMAND = new Tag() { 181 @Override 182 public String toString() { 183 return "command"; 184 } 185 }; 186 187 /** HTML5 tag for <code>data</code>. */ 188 Tag DATA = new Tag() { 189 @Override 190 public String toString() { 191 return "data"; 192 } 193 }; 194 195 /** HTML5 tag for <code>datalist</code>. */ 196 Tag DATALIST = new Tag() { 197 @Override 198 public String toString() { 199 return "datalist"; 200 } 201 }; 202 203 /** HTML5 tag for <code>dd</code>. */ 204 Tag DD = Tag.DD; 205 206 /** HTML5 tag for <code>del</code>. */ 207 Tag DEL = new Tag() { 208 @Override 209 public String toString() { 210 return "del"; 211 } 212 }; 213 214 /** HTML5 tag for <code>details</code>. */ 215 Tag DETAILS = new Tag() { 216 @Override 217 public String toString() { 218 return "details"; 219 } 220 }; 221 222 /** HTML5 tag for <code>dfn</code>. */ 223 Tag DFN = Tag.DFN; 224 225 /** HTML5 tag for <code>dialog</code>. */ 226 Tag DIALOG = new Tag() { 227 @Override 228 public String toString() { 229 return "dialog"; 230 } 231 }; 232 233 /** HTML5 tag for <code>div</code>. */ 234 Tag DIV = Tag.DIV; 235 236 /** HTML5 tag for <code>dl</code>. */ 237 Tag DL = Tag.DL; 238 239 /** HTML5 tag for <code>dt</code>. */ 240 Tag DT = Tag.DT; 241 242 /** HTML5 tag for <code>em</code>. */ 243 Tag EM = Tag.EM; 244 245 /** HTML5 tag for <code>embed</code>. */ 246 Tag EMBED = new Tag() { 247 @Override 248 public String toString() { 249 return "embed"; 250 } 251 }; 252 253 /** HTML5 tag for <code>fieldset</code>. */ 254 Tag FIELDSET = new Tag() { 255 @Override 256 public String toString() { 257 return "fieldset"; 258 } 259 }; 260 261 /** HTML5 tag for <code>figcaption</code>. */ 262 Tag FIGCAPTION = new Tag() { 263 @Override 264 public String toString() { 265 return "figcaption"; 266 } 267 }; 268 269 /** HTML5 tag for <code>figure</code>. */ 270 Tag FIGURE = new Tag() { 271 @Override 272 public String toString() { 273 return "figure"; 274 } 275 }; 276 277 /** HTML5 tag for <code>footer</code>. */ 278 Tag FOOTER = new Tag() { 279 @Override 280 public String toString() { 281 return "footer"; 282 } 283 }; 284 285 /** HTML5 tag for <code>form</code>. */ 286 Tag FORM = Tag.FORM; 287 288 /** HTML5 tag for <code>h1</code>. */ 289 Tag H1 = Tag.H1; 290 291 /** HTML5 tag for <code>h2</code>. */ 292 Tag H2 = Tag.H2; 293 294 /** HTML5 tag for <code>h3</code>. */ 295 Tag H3 = Tag.H3; 296 297 /** HTML5 tag for <code>h4</code>. */ 298 Tag H4 = Tag.H4; 299 300 /** HTML5 tag for <code>h5</code>. */ 301 Tag H5 = Tag.H5; 302 303 /** HTML5 tag for <code>h6</code>. */ 304 Tag H6 = Tag.H6; 305 306 /** HTML5 tag for <code>head</code>. */ 307 Tag HEAD = Tag.HEAD; 308 309 /** HTML5 tag for <code>header</code>. */ 310 Tag HEADER = new Tag() { 311 312 @Override 313 public String toString() { 314 return "header"; 315 } 316 }; 317 318 /** HTML5 tag for <code>hgroup</code>. */ 319 Tag HGROUP = new Tag() { 320 321 @Override 322 public String toString() { 323 return "hgroup"; 324 } 325 }; 326 327 /** HTML5 tag for <code>hr</code>. */ 328 Tag HR = Tag.HR; 329 330 /** HTML5 tag for <code>html</code>. */ 331 Tag HTML = Tag.HTML; 332 333 /** HTML5 tag for <code>i</code>. */ 334 Tag I = Tag.I; 335 336 /** HTML5 tag for <code>iframe</code>. */ 337 Tag IFRAME = new Tag() { 338 339 @Override 340 public String toString() { 341 return "iframe"; 342 } 343 }; 344 345 /** HTML5 tag for <code>img</code>. */ 346 Tag IMG = Tag.IMG; 347 348 /** HTML5 tag for <code>input</code>. */ 349 Tag INPUT = Tag.INPUT; 350 351 /** HTML5 tag for <code>ins</code>. */ 352 Tag INS = new Tag() { 353 354 @Override 355 public String toString() { 356 return "ins"; 357 } 358 }; 359 360 /** HTML5 tag for <code>kbd</code>. */ 361 Tag KBD = Tag.KBD; 362 363 /** HTML5 tag for <code>keygen</code>. */ 364 Tag KEYGEN = new Tag() { 365 366 @Override 367 public String toString() { 368 return "keygen"; 369 } 370 }; 371 372 /** HTML5 tag for <code>label</code>. */ 373 Tag LABEL = new Tag() { 374 375 @Override 376 public String toString() { 377 return "label"; 378 } 379 }; 380 381 /** HTML5 tag for <code>legend</code>. */ 382 Tag LEGEND = new Tag() { 383 384 @Override 385 public String toString() { 386 return "legend"; 387 } 388 }; 389 390 /** HTML5 tag for <code>li</code>. */ 391 Tag LI = Tag.LI; 392 393 /** HTML5 tag for <code>link</code>. */ 394 Tag LINK = Tag.LINK; 395 396 /** HTML5 tag for <code>map</code>. */ 397 Tag MAP = Tag.MAP; 398 399 /** HTML5 tag for <code>main</code>. */ 400 Tag MAIN = new Tag() { 401 402 @Override 403 public String toString() { 404 return "main"; 405 } 406 }; 407 408 /** HTML5 tag for <code>mark</code>. */ 409 Tag MARK = new Tag() { 410 411 @Override 412 public String toString() { 413 return "mark"; 414 } 415 }; 416 417 /** HTML5 tag for <code>menu</code>. */ 418 Tag MENU = Tag.MENU; 419 420 /** HTML5 tag for <code>menuitem</code>. */ 421 Tag MENUITEM = new Tag() { 422 423 @Override 424 public String toString() { 425 return "menuitem"; 426 } 427 }; 428 429 /** HTML5 tag for <code>meta</code>. */ 430 Tag META = Tag.META; 431 432 /** HTML5 tag for <code>meter</code>. */ 433 Tag METER = new Tag() { 434 435 @Override 436 public String toString() { 437 return "meter"; 438 } 439 }; 440 441 /** HTML5 tag for <code>nav</code>. */ 442 Tag NAV = new Tag() { 443 444 @Override 445 public String toString() { 446 return "nav"; 447 } 448 }; 449 450 /** HTML5 tag for <code>noscript</code>. */ 451 Tag NOSCRIPT = new Tag() { 452 453 @Override 454 public String toString() { 455 return "noscript"; 456 } 457 }; 458 459 /** HTML5 tag for <code>object</code>. */ 460 Tag OBJECT = Tag.OBJECT; 461 462 /** HTML5 tag for <code>ol</code>. */ 463 Tag OL = Tag.OL; 464 465 /** HTML5 tag for <code>optgroup</code>. */ 466 Tag OPTGROUP = new Tag() { 467 468 @Override 469 public String toString() { 470 return "optgroup"; 471 } 472 }; 473 474 /** HTML5 tag for <code>option</code>. */ 475 Tag OPTION = Tag.OPTION; 476 477 /** HTML5 tag for <code>output</code>. */ 478 Tag OUTPUT = new Tag() { 479 480 @Override 481 public String toString() { 482 return "output"; 483 } 484 }; 485 486 /** HTML5 tag for <code>p</code>. */ 487 Tag P = Tag.P; 488 489 /** HTML5 tag for <code>param</code>. */ 490 Tag PARAM = Tag.PARAM; 491 492 /** HTML5 tag for <code>picture</code>. */ 493 Tag PICTURE = new Tag() { 494 495 @Override 496 public String toString() { 497 return "picture"; 498 } 499 }; 500 501 /** HTML5 tag for <code>pre</code>. */ 502 Tag PRE = Tag.PRE; 503 504 /** HTML5 tag for <code>progress</code>. */ 505 Tag PROGRESS = new Tag() { 506 507 @Override 508 public String toString() { 509 return "progress"; 510 } 511 }; 512 513 /** HTML5 tag for <code>q</code>. */ 514 Tag Q = new Tag() { 515 516 @Override 517 public String toString() { 518 return "q"; 519 } 520 }; 521 522 /** HTML5 tag for <code>rb</code>. */ 523 Tag RB = new Tag() { 524 525 @Override 526 public String toString() { 527 return "rb"; 528 } 529 }; 530 531 /** HTML5 tag for <code>rp</code>. */ 532 Tag RP = new Tag() { 533 534 @Override 535 public String toString() { 536 return "rp"; 537 } 538 }; 539 540 /** HTML5 tag for <code>rt</code>. */ 541 Tag RT = new Tag() { 542 543 @Override 544 public String toString() { 545 return "rt"; 546 } 547 }; 548 549 /** HTML5 tag for <code>rtc</code>. */ 550 Tag RTC = new Tag() { 551 552 @Override 553 public String toString() { 554 return "rtc"; 555 } 556 }; 557 558 /** HTML5 tag for <code>ruby</code>. */ 559 Tag RUBY = new Tag() { 560 561 @Override 562 public String toString() { 563 return "ruby"; 564 } 565 }; 566 567 /** HTML5 tag for <code>s</code>. */ 568 Tag S = Tag.S; 569 570 /** HTML5 tag for <code>samp</code>. */ 571 Tag SAMP = Tag.SAMP; 572 573 /** HTML5 tag for <code>script</code>. */ 574 Tag SCRIPT = Tag.SCRIPT; 575 576 /** HTML5 tag for <code>section</code>. */ 577 Tag SECTION = new Tag() { 578 579 @Override 580 public String toString() { 581 return "section"; 582 } 583 }; 584 585 /** HTML5 tag for <code>select</code>. */ 586 Tag SELECT = Tag.SELECT; 587 588 /** HTML5 tag for <code>small</code>. */ 589 Tag SMALL = Tag.SMALL; 590 591 /** HTML5 tag for <code>source</code>. */ 592 Tag SOURCE = new Tag() { 593 594 @Override 595 public String toString() { 596 return "source"; 597 } 598 }; 599 600 /** HTML5 tag for <code>span</code>. */ 601 Tag SPAN = Tag.SPAN; 602 603 /** HTML5 tag for <code>strong</code>. */ 604 Tag STRONG = Tag.STRONG; 605 606 /** HTML5 tag for <code>style</code>. */ 607 Tag STYLE = Tag.STYLE; 608 609 /** HTML5 tag for <code>sub</code>. */ 610 Tag SUB = Tag.SUB; 611 612 /** HTML5 tag for <code>summary</code>. */ 613 Tag SUMMARY = new Tag() { 614 615 @Override 616 public String toString() { 617 return "summary"; 618 } 619 }; 620 621 /** HTML5 tag for <code>sup</code>. */ 622 Tag SUP = Tag.SUP; 623 624 /** HTML5 tag for <code>svg</code>. */ 625 Tag SVG = new Tag() { 626 627 @Override 628 public String toString() { 629 return "svg"; 630 } 631 }; 632 633 /** HTML5 tag for <code>table</code>. */ 634 Tag TABLE = Tag.TABLE; 635 636 /** HTML5 tag for <code>tbody</code>. */ 637 Tag TBODY = new Tag() { 638 639 @Override 640 public String toString() { 641 return "tbody"; 642 } 643 }; 644 645 /** HTML5 tag for <code>td</code>. */ 646 Tag TD = Tag.TD; 647 648 /** HTML5 tag for <code>template</code>. */ 649 Tag TEMPLATE = new Tag() { 650 651 @Override 652 public String toString() { 653 return "template"; 654 } 655 }; 656 657 /** HTML5 tag for <code>textarea</code>. */ 658 Tag TEXTAREA = Tag.TEXTAREA; 659 660 /** HTML5 tag for <code>tfoot</code>. */ 661 Tag TFOOT = new Tag() { 662 663 @Override 664 public String toString() { 665 return "tfoot"; 666 } 667 }; 668 669 /** HTML5 tag for <code>th</code>. */ 670 Tag TH = Tag.TH; 671 672 /** HTML5 tag for <code>thead</code>. */ 673 Tag THEAD = new Tag() { 674 675 @Override 676 public String toString() { 677 return "thead"; 678 } 679 }; 680 681 /** HTML5 tag for <code>time</code>. */ 682 Tag TIME = new Tag() { 683 684 @Override 685 public String toString() { 686 return "time"; 687 } 688 }; 689 690 /** HTML5 tag for <code>title</code>. */ 691 Tag TITLE = Tag.TITLE; 692 693 /** HTML5 tag for <code>tr</code>. */ 694 Tag TR = Tag.TR; 695 696 /** HTML5 tag for <code>track</code>. */ 697 Tag TRACK = new Tag() { 698 699 @Override 700 public String toString() { 701 return "track"; 702 } 703 }; 704 705 /** HTML5 tag for <code>u</code>. */ 706 Tag U = Tag.U; 707 708 /** HTML5 tag for <code>ul</code>. */ 709 Tag UL = Tag.UL; 710 711 /** HTML5 tag for <code>var</code>. */ 712 Tag VAR = Tag.VAR; 713 714 /** HTML5 tag for <code>video</code>. */ 715 Tag VIDEO = new Tag() { 716 717 @Override 718 public String toString() { 719 return "video"; 720 } 721 }; 722 723 /** HTML5 tag for <code>wbr</code>. */ 724 Tag WBR = new Tag() { 725 726 @Override 727 public String toString() { 728 return "wbr"; 729 } 730 }; 731}