All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.itextpdf.tool.xml.html.HTML Maven / Gradle / Ivy

The newest version!
/*
 *
 * This file is part of the iText (R) project.
    Copyright (c) 1998-2022 iText Group NV
 * Authors: Balder Van Camp, Emiel Ackermann, et al.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License version 3
 * as published by the Free Software Foundation with the addition of the
 * following permission added to Section 15 as permitted in Section 7(a):
 * FOR ANY PART OF THE COVERED WORK IN WHICH THE COPYRIGHT IS OWNED BY
 * ITEXT GROUP. ITEXT GROUP DISCLAIMS THE WARRANTY OF NON INFRINGEMENT
 * OF THIRD PARTY RIGHTS.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
 * details. You should have received a copy of the GNU Affero General Public
 * License along with this program; if not, see http://www.gnu.org/licenses or
 * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 * Boston, MA, 02110-1301 USA, or download the license from the following URL:
 * http://itextpdf.com/terms-of-use/
 *
 * The interactive user interfaces in modified source and object code versions
 * of this program must display Appropriate Legal Notices, as required under
 * Section 5 of the GNU Affero General Public License.
 *
 * In accordance with Section 7(b) of the GNU Affero General Public License, a
 * covered work must retain the producer line in every PDF that is created or
 * manipulated using iText.
 *
 * You can be released from the requirements of the license by purchasing a
 * commercial license. Buying such a license is mandatory as soon as you develop
 * commercial activities involving the iText software without disclosing the
 * source code of your own applications. These activities include: offering paid
 * services to customers as an ASP, serving PDFs on the fly in a web
 * application, shipping iText with a closed source product.
 *
 * For more information, please contact iText Software Corp. at this address:
 * [email protected]
 */
package com.itextpdf.tool.xml.html;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;

/**
 * Contains Strings of all used HTML tags and attributes.
 *
 * @author redlab_b
 *
 */
@SuppressWarnings("javadoc")
public final class HTML {

	/**
	 *
	 */
	private HTML() {
	}

	/**
	 *
	 * All Tags used in HTML.
	 *
	 */
	public final static class Tag {

		private Tag() {
		}

		public static final String XML = "xml";
		public static final String THEAD = "thead";
		public static final String TBODY = "tbody";
		public static final String TFOOT = "tfoot";
		public static final String OL = "ol";
		public static final String UL = "ul";
		public static final String CAPTION = "caption";
		public static final String PRE = "pre";
		public static final String P = "p";
		public static final String DIV = "div";
		public static final String H1 = "h1";
		public static final String H2 = "h2";
		public static final String H3 = "h3";
		public static final String H4 = "h4";
		public static final String H5 = "h5";
		public static final String H6 = "h6";
		public static final String TD = "td";
		public static final String BR = "br";
		public static final String LI = "li";
		public static final String DD = "dd";
		public static final String DT = "dt";
		public static final String TH = "th";
		public static final String HR = "hr";
		public static final String BODY = "body";
		public static final String HTML = "html";
		public static final String TABLE = "table";
		public static final String SCRIPT = "script";
		public static final String HEAD = "head";
		public static final String LINK = "link";
		public static final String META = "meta";
		public static final String STYLE = "style";
		public static final String ADDRESS = "address";
		public static final String ARTICLE = "article";
		public static final String ASIDE = "aside";
		public static final String AUDIO = "audio";
		public static final String BLOCKQUOTE = "blockquote";
		public static final String CANVAS = "canvas";
		public static final String FIELDSET = "fieldset";
		public static final String FIGCAPTION = "figcaption";
		public static final String FIGURE = "figure";
		public static final String FOOTER = "footer";
		public static final String FONT = "font";
		public static final String FORM = "form";
		public static final String HEADER = "header";
		public static final String HGROUP = "hgroup";
		public static final String NOSCRIPT = "noscript";
		public static final String OUTPUT = "output";
		public static final String SECTION = "section";
		public static final String VIDEO = "video";
		public static final String BASE = "base";
		public static final String COMMAND = "command";
		public static final String TITLE = "title";
		public static final String A = "a";
		public static final String ABBR = "abbr";
		public static final String B = "b";
		public static final String BDO = "bdo";
		public static final String BUTTON = "button";
		public static final String DETAILS = "details";
		public static final String CODE = "code";
		public static final String DEL = "del";
		public static final String DATALIST = "datalist";
		public static final String DFN = "dfn";
		public static final String EMBED = "embed";
		public static final String CITE = "cite";
		public static final String DL = "dl";
		public static final String EM = "em";
		public static final String I = "i";
		public static final String IFRAME = "iframe";
		public static final String INPUT = "input";
		public static final String IMG = "img";
		public static final String INS = "ins";
		public static final String MAP = "map";
		public static final String KEYGEN = "keygen";
		public static final String METER = "meter";
		public static final String MENU = "menu";
		public static final String NAV = "nav";
		public static final String KBD = "kbd";
		public static final String MATH = "math";
		public static final String MARK = "mark";
		public static final String LABEL = "label";
		public static final String Q = "q";
		public static final String SAMP = "samp";
		public static final String PROGRESS = "progress";
		public static final String RUBY = "ruby";
		public static final String OBJECT = "object";
		public static final String SMALL = "small";
		public static final String SUB = "sub";
		public static final String SUP = "sup";
		public static final String STRONG = "strong";
		public static final String SELECT = "select";
		public static final String SPAN = "span";
		public static final String SVG = "svg";
		public static final String WBR = "wbr";
		public static final String TIME = "time";
		public static final String TEXTAREA = "textarea";
		public static final String VAR = "var";
		public static final String TR = "tr";
		public static final String BIG = "big";
		public static final String S = "s";
		public static final String STRIKE = "strike";
		public static final String TT = "tt";
		public static final String U = "u";

	}

	/**
	 * Collections that combine different tags.
	 *
	 */
	public static final class Category {

		private Category() {
		}

		/**
		 * List with the tags that are not visible in the browser.
* Tag.HTML, Tag.HEAD, Tag.META, Tag.SCRIPT, Tag.LINK, Tag.STYLE, * Tag.TITLE */ public static final Set NOT_VISIBLE = new HashSet(Arrays.asList(new String[] { Tag.HTML, Tag.HEAD, Tag.META, Tag.SCRIPT, Tag.LINK, Tag.STYLE, Tag.TITLE })); /** * Groups all tags that are block level tags by default.
* Tag.ADDRESS, Tag.ARTICLE, Tag.ASIDE, Tag.AUDIO, Tag.BLOCKQUOTE, * Tag.CANVAS, Tag.DD, Tag.DIV, Tag.FIELDSET, Tag.FIGCAPTION, * Tag.FIGURE, Tag.FOOTER, Tag.FORM, Tag.H1, Tag.H2, Tag.H3, Tag.H4, * Tag.H5, Tag.H6, Tag.HEADER, Tag.HGROUP, Tag.HR, Tag.NOSCRIPT, Tag.OL, * Tag.OUTPUT, Tag.P, Tag.PRE, Tag.SECTION, Tag.TABLE, Tag.UL, Tag.VIDEO */ public static final Set BLOCK_LEVEL = new HashSet(Arrays.asList(new String[] { Tag.ADDRESS, Tag.ARTICLE, Tag.ASIDE, Tag.AUDIO, Tag.BLOCKQUOTE, Tag.CANVAS, Tag.DD, Tag.DIV, Tag.FIELDSET, Tag.FIGCAPTION, Tag.FIGURE, Tag.FOOTER, Tag.FORM, Tag.H1, Tag.H2, Tag.H3, Tag.H4, Tag.H5, Tag.H6, Tag.HEADER, Tag.HGROUP, Tag.HR, Tag.NOSCRIPT, Tag.OL, Tag.OUTPUT, Tag.P, Tag.PRE, Tag.SECTION, Tag.TABLE, Tag.UL, Tag.VIDEO })); /** * HTML5
* Elements belonging to the metadata content category modify * the presentation or the behavior of the rest of the document, set up * links to others documents, or convey other out of band * information.
* Tag.BASE, Tag.COMMAND, Tag.LINK, Tag.META, Tag.NOSCRIPT, Tag.STYLE, * Tag.TITLE */ public static final Set METADATA = new HashSet(Arrays.asList(new String[] { Tag.BASE, Tag.COMMAND, Tag.LINK, Tag.META, Tag.NOSCRIPT, Tag.STYLE, Tag.TITLE })); /** * HTML5
* Elements belonging to the flow content category typically contain * text or embedded content.
* Tag.A, Tag.ABBR, Tag.ADDRESS, Tag.ARTICLE, Tag.ASIDE, Tag.AUDIO, * Tag.B, Tag.BDO, Tag.BLOCKQUOTE, Tag.BR, Tag.BUTTON, Tag.CANVAS, * Tag.CITE, Tag.CODE, Tag.COMMAND, Tag.DATALIST, Tag.DEL, Tag.DETAILS, * Tag.DFN, Tag.DIV, Tag.DL, Tag.EM, Tag.EMBED, Tag.FIELDSET, * Tag.FIGURE, Tag.FOOTER, Tag.FORM, Tag.H1, Tag.H2, Tag.H3, Tag.H4, * Tag.H5, Tag.H6, Tag.HEADER, Tag.HGROUP, Tag.HR, Tag.I, Tag.IFRAME, * Tag.IMG, Tag.INPUT, Tag.INS, Tag.KBD, Tag.KEYGEN, Tag.LABEL, Tag.MAP, * Tag.MARK, Tag.MATH, Tag.MENU, Tag.METER, Tag.NAV, Tag.NOSCRIPT, * Tag.OBJECT, Tag.OL, Tag.OUTPUT, Tag.P, Tag.PRE, Tag.PROGRESS, Tag.Q, * Tag.RUBY, Tag.SAMP, Tag.SCRIPT, Tag.SECTION, Tag.SELECT, Tag.SMALL, * Tag.SPAN, Tag.STRONG, Tag.SUB, Tag.SUP, Tag.SVG, Tag.TABLE, * Tag.TEXTAREA, Tag.TIME, Tag.UL, Tag.VAR, Tag.VIDEO, Tag.WBR */ public static final Set FLOW_CONTENT = new HashSet(Arrays.asList(new String[] { Tag.A, Tag.ABBR, Tag.ADDRESS, Tag.ARTICLE, Tag.ASIDE, Tag.AUDIO, Tag.B, Tag.BDO, Tag.BLOCKQUOTE, Tag.BR, Tag.BUTTON, Tag.CANVAS, Tag.CITE, Tag.CODE, Tag.COMMAND, Tag.DATALIST, Tag.DEL, Tag.DETAILS, Tag.DFN, Tag.DIV, Tag.DL, Tag.EM, Tag.EMBED, Tag.FIELDSET, Tag.FIGURE, Tag.FOOTER, Tag.FORM, Tag.H1, Tag.H2, Tag.H3, Tag.H4, Tag.H5, Tag.H6, Tag.HEADER, Tag.HGROUP, Tag.HR, Tag.I, Tag.IFRAME, Tag.IMG, Tag.INPUT, Tag.INS, Tag.KBD, Tag.KEYGEN, Tag.LABEL, Tag.MAP, Tag.MARK, Tag.MATH, Tag.MENU, Tag.METER, Tag.NAV, Tag.NOSCRIPT, Tag.OBJECT, Tag.OL, Tag.OUTPUT, Tag.P, Tag.PRE, Tag.PROGRESS, Tag.Q, Tag.RUBY, Tag.SAMP, Tag.SCRIPT, Tag.SECTION, Tag.SELECT, Tag.SMALL, Tag.SPAN, Tag.FONT, Tag.STRONG, Tag.SUB, Tag.SUP, Tag.SVG, Tag.TABLE, Tag.TEXTAREA, Tag.TIME, Tag.UL, Tag.VAR, Tag.VIDEO, Tag.WBR })); /** * HTML5
* Elements belonging to the sectioning content model create a section in the current outline that defines the scope of  * <header> * elements, * <footer> * elements, and heading * content.
elements, and heading content.
* Tag.ARTICLE, Tag.ASIDE, Tag.NAV, Tag.SECTION */ public static final Set SECTIONING_CONTENT = new HashSet(Arrays.asList(new String[] { Tag.ARTICLE, Tag.ASIDE, Tag.NAV, Tag.SECTION })); /** * HTML5
* Heading content defines the title of a section, whether marked by an * explicit sectioning * content element or implicitly defined by the heading content * itself.
* Tag.H1, Tag.H2, Tag.H3, Tag.H4, Tag.H5, Tag.H6, Tag.HGROUP */ public static final Set HEADING_CONTENT = new HashSet(Arrays.asList(new String[] { Tag.H1, Tag.H2, Tag.H3, Tag.H4, Tag.H5, Tag.H6, Tag.HGROUP })); /** * HTML5
* Phrasing content defines the text and the mark-up it contains. Runs * of phrasing content make up paragraphs.
* Tag.ABBR, Tag.AUDIO, Tag.B, Tag.BDO, Tag.BR, Tag.BUTTON, Tag.CANVAS, * Tag.CITE, Tag.CODE, Tag.COMMAND, Tag.DATALIST, Tag.DFN, Tag.EM, * Tag.EMBED, Tag.I, Tag.IFRAME, Tag.IMG, Tag.INPUT, Tag.KBD, * Tag.KEYGEN, Tag.LABEL, Tag.MARK, Tag.MATH, Tag.METER, Tag.NOSCRIPT, * Tag.OBJECT, Tag.OUTPUT, Tag.PROGRESS, Tag.Q, Tag.RUBY, Tag.SAMP, * Tag.SCRIPT, Tag.SELECT, Tag.SMALL, Tag.SPAN, Tag.STRONG, Tag.SUB, * Tag.SUP, Tag.SVG, Tag.TEXTAREA, Tag.TIME, Tag.VAR, Tag.VIDEO, Tag.WBR */ public static final Set PHRASING_CONTENT = new HashSet(Arrays.asList(new String[] { Tag.ABBR, Tag.AUDIO, Tag.B, Tag.BDO, Tag.BR, Tag.BUTTON, Tag.CANVAS, Tag.CITE, Tag.CODE, Tag.COMMAND, Tag.DATALIST, Tag.DFN, Tag.EM, Tag.EMBED, Tag.I, Tag.IFRAME, Tag.IMG, Tag.INPUT, Tag.KBD, Tag.KEYGEN, Tag.LABEL, Tag.MARK, Tag.MATH, Tag.METER, Tag.NOSCRIPT, Tag.OBJECT, Tag.OUTPUT, Tag.PROGRESS, Tag.Q, Tag.RUBY, Tag.SAMP, Tag.SCRIPT, Tag.SELECT, Tag.SMALL, Tag.SPAN, Tag.FONT, Tag.STRONG, Tag.SUB, Tag.SUP, Tag.SVG, Tag.TEXTAREA, Tag.TIME, Tag.VAR, Tag.VIDEO, Tag.WBR })); /** * HTML5
* Embedded content imports another resource or inserts content from * another mark-up language or namespace into the document.
* Tag.AUDIO, Tag.CANVAS, Tag.EMBED, Tag.IFRAME, Tag.IMG, Tag.MATH, * Tag.OBJECT, Tag.SVG, Tag.VIDEO */ public static final Set EMBEDDED_CONTENT = new HashSet(Arrays.asList(new String[] { Tag.AUDIO, Tag.CANVAS, Tag.EMBED, Tag.IFRAME, Tag.IMG, Tag.MATH, Tag.OBJECT, Tag.SVG, Tag.VIDEO })); } /** * Attributes used in HTML tags. */ public final static class Attribute { /** * */ private Attribute() { } public static final String ALT = "alt"; public static final String CELLPADDING = "cellpadding"; public static final String CELLSPACING = "cellspacing"; public static final String STYLE = "style"; public static final String CLASS = "class"; public static final String ID = "id"; public static final String HREF = "href"; public static final String NAME = "name"; public static final String SRC = "src"; public static final String WIDTH = "width"; public static final String HEIGHT = "height"; public static final String TYPE = "type"; public static final String COLSPAN = "colspan"; public static final String ROWSPAN = "rowspan"; public static final String VALIGN = "valign"; public static final String ALIGN = "align"; public static final String FACE = "face"; public static final String SIZE = "size"; public static final String COLOR = "color"; public static final String START = "start"; public static final String DIR = "dir"; /** * Possible attribute values. * * @author itextpdf.com * */ public static final class Value { public static final String TEXTCSS = "text/css"; private Value() { }; } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy