com.itextpdf.tool.xml.html.HTML Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xmlworker Show documentation
Show all versions of xmlworker Show documentation
Parses XML to PDF, with CSS support, using iText
/*
* $Id: 4844a185db37013500c795c7ecab7ca7e483aa0d $
*
* This file is part of the iText (R) project.
* Copyright (c) 1998-2015 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.