public class Xhtml5BaseSink extends AbstractXmlSink implements HtmlMarkup
| Modifier and Type | Class and Description |
|---|---|
protected static class |
Xhtml5BaseSink.VerbatimMode |
| Modifier and Type | Field and Description |
|---|---|
protected Stack<HTML.Tag> |
contentStack
Keep track of the main and div tags for content events.
|
protected Stack<List<HTML.Tag>> |
inlineStack
Keep track of the closing tags for inline events.
|
protected MutableAttributeSet |
tableAttributes
used to store attributes passed to table().
|
A, ABBR, ADDRESS, AREA, ARTICLE, ASIDE, AUDIO, B, BASE, BDI, BDO, BLOCKQUOTE, BODY, BR, BUTTON, CANVAS, CAPTION, CDATA_TYPE, CITE, CODE, COL, COLGROUP, COMMAND, DATA, DATALIST, DD, DEL, DETAILS, DFN, DIALOG, DIV, DL, DT, EM, EMBED, ENTITY_TYPE, FIELDSET, FIGCAPTION, FIGURE, FOOTER, FORM, H1, H2, H3, H4, H5, H6, HEAD, HEADER, HGROUP, HR, HTML, I, IFRAME, IMG, INPUT, INS, KBD, KEYGEN, LABEL, LEGEND, LI, LINK, MAIN, MAP, MARK, MENU, MENUITEM, META, METER, NAV, NOSCRIPT, OBJECT, OL, OPTGROUP, OPTION, OUTPUT, P, PARAM, PICTURE, PRE, PROGRESS, Q, RB, RP, RT, RTC, RUBY, S, SAMP, SCRIPT, SECTION, SELECT, SMALL, SOURCE, SPAN, STRONG, STYLE, SUB, SUMMARY, SUP, SVG, TABLE, TAG_TYPE_END, TAG_TYPE_SIMPLE, TAG_TYPE_START, TBODY, TD, TEMPLATE, TEXTAREA, TFOOT, TH, THEAD, TIME, TITLE, TR, TRACK, U, UL, VAR, VIDEO, WBRBANG, CDATA, DOCTYPE_START, ENTITY_START, XML_NAMESPACECOLON, EOL, EQUAL, GREATER_THAN, LEFT_CURLY_BRACKET, LEFT_SQUARE_BRACKET, LESS_THAN, MINUS, PLUS, QUOTE, RIGHT_CURLY_BRACKET, RIGHT_SQUARE_BRACKET, SEMICOLON, SLASH, SPACE, STARJUSTIFY_CENTER, JUSTIFY_LEFT, JUSTIFY_RIGHT, NUMBERING_DECIMAL, NUMBERING_LOWER_ALPHA, NUMBERING_LOWER_ROMAN, NUMBERING_UPPER_ALPHA, NUMBERING_UPPER_ROMAN, SECTION_LEVEL_1, SECTION_LEVEL_2, SECTION_LEVEL_3, SECTION_LEVEL_4, SECTION_LEVEL_5, SECTION_LEVEL_6| Constructor and Description |
|---|
Xhtml5BaseSink(Writer out)
Constructor, initialize the PrintWriter.
|
| Modifier and Type | Method and Description |
|---|---|
void |
address_() |
void |
address(SinkEventAttributes attributes) |
void |
anchor_() |
void |
anchor(String name,
SinkEventAttributes attributes) |
void |
article_() |
void |
article(SinkEventAttributes attributes) |
void |
blockquote_() |
void |
blockquote(SinkEventAttributes attributes) |
void |
bold_() |
void |
bold() |
void |
close() |
void |
comment(String comment) |
void |
content_() |
void |
content(SinkEventAttributes attributes) |
protected void |
content(String text)
Write HTML escaped text to output.
|
void |
data_() |
void |
data(String value,
SinkEventAttributes attributes) |
void |
definedTerm_() |
void |
definedTerm(SinkEventAttributes attributes) |
void |
definition_() |
void |
definition(SinkEventAttributes attributes) |
void |
definitionList_() |
void |
definitionList(SinkEventAttributes attributes) |
void |
division_() |
void |
division(SinkEventAttributes attributes) |
protected static String |
encodeURL(String text)
Forward to HtmlTools.encodeURL(text).
|
protected static String |
escapeHTML(String text)
Forward to HtmlTools.escapeHTML(text).
|
void |
figure_() |
void |
figure(SinkEventAttributes attributes) |
void |
figureCaption_() |
void |
figureCaption(SinkEventAttributes attributes) |
void |
figureGraphics(String src,
SinkEventAttributes attributes) |
void |
flush() |
void |
footer_() |
void |
footer(SinkEventAttributes attributes) |
protected int |
getCellCount()
Getter for the field
cellCount. |
protected int[] |
getCellJustif()
Getter for the field
cellJustif. |
protected StringBuffer |
getTextBuffer()
To use mainly when playing with the head events.
|
protected Xhtml5BaseSink.VerbatimMode |
getVerbatimMode() |
void |
header_() |
void |
header(SinkEventAttributes attributes) |
void |
horizontalRule(SinkEventAttributes attributes) |
protected void |
init()
This is called in
AbstractSink.head() or in Sink.close(), and can be used
to set the sink into a clear state so it can be re-used. |
void |
inline_() |
void |
inline(SinkEventAttributes attributes) |
protected boolean |
isHeadFlag()
isHeadFlag.
|
protected boolean |
isVerbatim() |
void |
italic_() |
void |
italic() |
void |
lineBreak(SinkEventAttributes attributes) |
void |
lineBreakOpportunity(SinkEventAttributes attributes) |
void |
link_() |
void |
link(String name,
SinkEventAttributes attributes)
The default style class for external link is
externalLink. |
void |
list_() |
void |
list(SinkEventAttributes attributes) |
void |
listItem_() |
void |
listItem(SinkEventAttributes attributes) |
void |
monospaced_() |
void |
monospaced() |
void |
navigation_() |
void |
navigation(SinkEventAttributes attributes) |
void |
nonBreakingSpace() |
void |
numberedList_() |
void |
numberedList(int numbering,
SinkEventAttributes attributes)
The default list style depends on the numbering.
|
void |
numberedListItem_() |
void |
numberedListItem(SinkEventAttributes attributes) |
protected void |
onSection_(int depth)
Ends a section.
|
protected void |
onSection(int depth,
SinkEventAttributes attributes)
Starts a section.
|
protected void |
onSectionTitle_(int depth)
Ends a section title.
|
protected void |
onSectionTitle(int depth,
SinkEventAttributes attributes)
Starts a section title.
|
void |
pageBreak() |
void |
paragraph_() |
void |
paragraph(SinkEventAttributes attributes) |
void |
rawText(String text) |
protected void |
resetTextBuffer()
Reset the text buffer.
|
void |
section_(int level) |
void |
section(int level,
SinkEventAttributes attributes) |
void |
sectionTitle_(int level) |
void |
sectionTitle(int level,
SinkEventAttributes attributes) |
protected void |
setCellCount(int count)
Setter for the field
cellCount. |
protected void |
setCellJustif(int[] justif)
Setter for the field
cellJustif. |
protected void |
setHeadFlag(boolean headFlag)
Setter for the field
headFlag. |
protected void |
setVerbatimMode(Xhtml5BaseSink.VerbatimMode mode)
Setter for the field
verbatimMode. |
void |
sidebar_() |
void |
sidebar(SinkEventAttributes attributes) |
void |
table_() |
void |
table(SinkEventAttributes attributes) |
void |
tableCaption_() |
void |
tableCaption(SinkEventAttributes attributes) |
void |
tableCell_() |
void |
tableCell(SinkEventAttributes attributes) |
void |
tableHeaderCell_() |
void |
tableHeaderCell(SinkEventAttributes attributes) |
void |
tableRow_() |
void |
tableRow(SinkEventAttributes attributes)
Rows are striped with two colors by adding the class
a or b. |
void |
tableRows_() |
void |
tableRows(int[] justification,
boolean grid)
The default style class is
bodyTable. |
void |
text(String text,
SinkEventAttributes attributes) |
void |
time_() |
void |
time(String datetime,
SinkEventAttributes attributes) |
void |
unknown(String name,
Object[] requiredParams,
SinkEventAttributes attributes)
Add an unknown event.
|
void |
verbatim_() |
void |
verbatim(SinkEventAttributes attributes)
Depending on whether the decoration attribute is "source" or not, this leads
to either emitting {@code
|
protected void |
verbatimContent(String text)
Write HTML escaped text to output.
|
protected void |
write(String text)
Write a text to the sink.
|
protected void |
writeEndTag(HTML.Tag t)
Ends a Tag without writing an EOL.
|
protected void |
writeStartTag(HTML.Tag t,
MutableAttributeSet att,
boolean isSimpleTag)
Starts a Tag with attributes.
|
getNameSpace, setInsertNewline, setNameSpace, writeEOL, writeSimpleTag, writeSimpleTag, writeStartTag, writeStartTagauthor_, author, body_, body, date_, date, definitionListItem_, definitionListItem, head_, head, title_, titleaddress, anchor, article, author, blockquote, body, content, data, date, definedTerm, definition, definitionList, definitionListItem, division, figure, figureCaption, figureGraphics, footer, formatLocation, getDocumentLocator, getLocationLogPrefix, head, header, horizontalRule, inline, lineBreak, lineBreakOpportunity, link, list, listItem, navigation, numberedList, numberedListItem, paragraph, section1_, section1, section2_, section2, section3_, section3, section4_, section4, section5_, section5, section6_, section6, sectionTitle_, sectionTitle, sectionTitle1_, sectionTitle1, sectionTitle2_, sectionTitle2, sectionTitle3_, sectionTitle3, sectionTitle4_, sectionTitle4, sectionTitle5_, sectionTitle5, sectionTitle6_, sectionTitle6, setDocumentLocator, sidebar, table, tableCaption, tableCell, tableHeaderCell, tableRow, tableRows, text, time, title, unifyEOLs, verbatimprotected Stack<HTML.Tag> contentStack
protected Stack<List<HTML.Tag>> inlineStack
protected MutableAttributeSet tableAttributes
public Xhtml5BaseSink(Writer out)
out - The writer to write the result.protected StringBuffer getTextBuffer()
protected void setHeadFlag(boolean headFlag)
Setter for the field headFlag.
headFlag - an header flag.protected boolean isHeadFlag()
isHeadFlag.
protected Xhtml5BaseSink.VerbatimMode getVerbatimMode()
protected void setVerbatimMode(Xhtml5BaseSink.VerbatimMode mode)
Setter for the field verbatimMode.
mode - a verbatim mode.protected boolean isVerbatim()
true if inside verbatim section, false otherwiseprotected void setCellJustif(int[] justif)
Setter for the field cellJustif.
justif - the new cell justification array.protected int[] getCellJustif()
Getter for the field cellJustif.
protected void setCellCount(int count)
Setter for the field cellCount.
count - the new cell count.protected int getCellCount()
Getter for the field cellCount.
protected void init()
AbstractSink.head() or in Sink.close(), and can be used
to set the sink into a clear state so it can be re-used.init in class AbstractSinkprotected void resetTextBuffer()
public void article(SinkEventAttributes attributes)
article in interface Sinkarticle in class SinkAdapterpublic void article_()
article_ in interface Sinkarticle_ in class SinkAdapterpublic void navigation(SinkEventAttributes attributes)
navigation in interface Sinknavigation in class SinkAdapterpublic void navigation_()
navigation_ in interface Sinknavigation_ in class SinkAdapterpublic void sidebar(SinkEventAttributes attributes)
sidebar in interface Sinksidebar in class SinkAdapterpublic void sidebar_()
sidebar_ in interface Sinksidebar_ in class SinkAdapterpublic void section(int level, SinkEventAttributes attributes)
section in interface Sinksection in class SinkAdapterpublic void sectionTitle(int level, SinkEventAttributes attributes)
sectionTitle in interface SinksectionTitle in class SinkAdapterpublic void sectionTitle_(int level)
sectionTitle_ in interface SinksectionTitle_ in class SinkAdapterpublic void section_(int level)
section_ in interface Sinksection_ in class SinkAdapterprotected void onSection(int depth, SinkEventAttributes attributes)
depth - The level of the section.attributes - some attributes. May be null.protected void onSection_(int depth)
depth - The level of the section.HtmlMarkup.SECTIONprotected void onSectionTitle(int depth, SinkEventAttributes attributes)
depth - The level of the section title.attributes - some attributes. May be null.HtmlMarkup.H1,
HtmlMarkup.H2,
HtmlMarkup.H3,
HtmlMarkup.H4,
HtmlMarkup.H5,
HtmlMarkup.H6protected void onSectionTitle_(int depth)
depth - The level of the section title.HtmlMarkup.H1,
HtmlMarkup.H2,
HtmlMarkup.H3,
HtmlMarkup.H4,
HtmlMarkup.H5,
HtmlMarkup.H6public void header(SinkEventAttributes attributes)
header in interface Sinkheader in class SinkAdapterpublic void header_()
header_ in interface Sinkheader_ in class SinkAdapterpublic void content(SinkEventAttributes attributes)
content in interface Sinkcontent in class SinkAdapterpublic void content_()
content_ in interface Sinkcontent_ in class SinkAdapterpublic void footer(SinkEventAttributes attributes)
footer in interface Sinkfooter in class SinkAdapterpublic void footer_()
footer_ in interface Sinkfooter_ in class SinkAdapterpublic void list(SinkEventAttributes attributes)
list in interface Sinklist in class SinkAdapterHTML.Tag.ULpublic void list_()
list_ in interface Sinklist_ in class SinkAdapterHTML.Tag.ULpublic void listItem(SinkEventAttributes attributes)
listItem in interface SinklistItem in class SinkAdapterHTML.Tag.LIpublic void listItem_()
listItem_ in interface SinklistItem_ in class SinkAdapterHTML.Tag.LIpublic void numberedList(int numbering, SinkEventAttributes attributes)
numberedList in interface SinknumberedList in class SinkAdapterHTML.Tag.OLpublic void numberedList_()
numberedList_ in interface SinknumberedList_ in class SinkAdapterHTML.Tag.OLpublic void numberedListItem(SinkEventAttributes attributes)
numberedListItem in interface SinknumberedListItem in class SinkAdapterHTML.Tag.LIpublic void numberedListItem_()
numberedListItem_ in interface SinknumberedListItem_ in class SinkAdapterHTML.Tag.LIpublic void definitionList(SinkEventAttributes attributes)
definitionList in interface SinkdefinitionList in class SinkAdapterHTML.Tag.DLpublic void definitionList_()
definitionList_ in interface SinkdefinitionList_ in class SinkAdapterHTML.Tag.DLpublic void definedTerm(SinkEventAttributes attributes)
definedTerm in interface SinkdefinedTerm in class SinkAdapterHTML.Tag.DTpublic void definedTerm_()
definedTerm_ in interface SinkdefinedTerm_ in class SinkAdapterHTML.Tag.DTpublic void definition(SinkEventAttributes attributes)
definition in interface Sinkdefinition in class SinkAdapterHTML.Tag.DDpublic void definition_()
definition_ in interface Sinkdefinition_ in class SinkAdapterHTML.Tag.DDpublic void figure(SinkEventAttributes attributes)
figure in interface Sinkfigure in class SinkAdapterpublic void figure_()
figure_ in interface Sinkfigure_ in class SinkAdapterpublic void figureGraphics(String src, SinkEventAttributes attributes)
figureGraphics in interface SinkfigureGraphics in class SinkAdapterpublic void figureCaption(SinkEventAttributes attributes)
figureCaption in interface SinkfigureCaption in class SinkAdapterpublic void figureCaption_()
figureCaption_ in interface SinkfigureCaption_ in class SinkAdapterpublic void paragraph(SinkEventAttributes attributes)
paragraph in interface Sinkparagraph in class SinkAdapterHTML.Tag.Ppublic void paragraph_()
paragraph_ in interface Sinkparagraph_ in class SinkAdapterHTML.Tag.Ppublic void data(String value, SinkEventAttributes attributes)
data in interface Sinkdata in class SinkAdapterpublic void data_()
data_ in interface Sinkdata_ in class SinkAdapterpublic void time(String datetime, SinkEventAttributes attributes)
time in interface Sinktime in class SinkAdapterpublic void time_()
time_ in interface Sinktime_ in class SinkAdapterpublic void address(SinkEventAttributes attributes)
address in interface Sinkaddress in class SinkAdapterHTML.Tag.ADDRESSpublic void address_()
address_ in interface Sinkaddress_ in class SinkAdapterHTML.Tag.ADDRESSpublic void blockquote(SinkEventAttributes attributes)
blockquote in interface Sinkblockquote in class SinkAdapterHTML.Tag.BLOCKQUOTEpublic void blockquote_()
blockquote_ in interface Sinkblockquote_ in class SinkAdapterHTML.Tag.BLOCKQUOTEpublic void division(SinkEventAttributes attributes)
division in interface Sinkdivision in class SinkAdapterHTML.Tag.DIVpublic void division_()
division_ in interface Sinkdivision_ in class SinkAdapterHTML.Tag.DIVpublic void verbatim(SinkEventAttributes attributes)
<pre><code> or just <pre>.
No default classes are emitted but the given attributes are always added to the pre element only.
verbatim in interface Sinkverbatim in class SinkAdapterHTML.Tag.PRE,
HTML.Tag.CODEpublic void verbatim_()
verbatim_ in interface Sinkverbatim_ in class SinkAdapterHTML.Tag.CODE,
HTML.Tag.PREpublic void horizontalRule(SinkEventAttributes attributes)
horizontalRule in interface SinkhorizontalRule in class SinkAdapterHTML.Tag.HRpublic void table(SinkEventAttributes attributes)
table in interface Sinktable in class SinkAdapterpublic void table_()
table_ in interface Sinktable_ in class SinkAdapterHTML.Tag.TABLEpublic void tableRows(int[] justification, boolean grid)
bodyTable.tableRows in interface SinktableRows in class SinkAdaptergrid - if true the style class bodyTableBorder will be added
HTML.Tag.TABLEpublic void tableRows_()
tableRows_ in interface SinktableRows_ in class SinkAdapterpublic void tableRow(SinkEventAttributes attributes)
a or b. If the provided attributes
specify the hidden class, the next call to tableRow will set the same striping class as this one. A
style for hidden or table.bodyTable hidden may need to be provided to actually hide
such a row. tableRow in interface SinktableRow in class SinkAdapterHTML.Tag.TRpublic void tableRow_()
tableRow_ in interface SinktableRow_ in class SinkAdapterHTML.Tag.TRpublic void tableCell(SinkEventAttributes attributes)
tableCell in interface SinktableCell in class SinkAdapterpublic void tableHeaderCell(SinkEventAttributes attributes)
tableHeaderCell in interface SinktableHeaderCell in class SinkAdapterpublic void tableCell_()
tableCell_ in interface SinktableCell_ in class SinkAdapterpublic void tableHeaderCell_()
tableHeaderCell_ in interface SinktableHeaderCell_ in class SinkAdapterpublic void tableCaption(SinkEventAttributes attributes)
tableCaption in interface SinktableCaption in class SinkAdapterHTML.Tag.CAPTIONpublic void tableCaption_()
tableCaption_ in interface SinktableCaption_ in class SinkAdapterHTML.Tag.CAPTIONpublic void anchor(String name, SinkEventAttributes attributes)
anchor in interface Sinkanchor in class SinkAdapterHTML.Tag.Apublic void anchor_()
anchor_ in interface Sinkanchor_ in class SinkAdapterHTML.Tag.Apublic void link(String name, SinkEventAttributes attributes)
externalLink.
link in interface Sinklink in class SinkAdapterHTML.Tag.Apublic void link_()
link_ in interface Sinklink_ in class SinkAdapterHTML.Tag.Apublic void inline(SinkEventAttributes attributes)
inline in interface Sinkinline in class SinkAdapterpublic void inline_()
inline_ in interface Sinkinline_ in class SinkAdapterpublic void italic()
italic in interface Sinkitalic in class SinkAdapterHTML.Tag.Ipublic void italic_()
italic_ in interface Sinkitalic_ in class SinkAdapterHTML.Tag.Ipublic void bold()
bold in interface Sinkbold in class SinkAdapterHTML.Tag.Bpublic void bold_()
bold_ in interface Sinkbold_ in class SinkAdapterHTML.Tag.Bpublic void monospaced()
monospaced in interface Sinkmonospaced in class SinkAdapterHTML.Tag.CODEpublic void monospaced_()
monospaced_ in interface Sinkmonospaced_ in class SinkAdapterHTML.Tag.CODEpublic void lineBreak(SinkEventAttributes attributes)
lineBreak in interface SinklineBreak in class SinkAdapterHTML.Tag.BRpublic void lineBreakOpportunity(SinkEventAttributes attributes)
lineBreakOpportunity in interface SinklineBreakOpportunity in class SinkAdapterpublic void pageBreak()
pageBreak in interface SinkpageBreak in class SinkAdapterpublic void nonBreakingSpace()
nonBreakingSpace in interface SinknonBreakingSpace in class SinkAdapterpublic void text(String text, SinkEventAttributes attributes)
text in interface Sinktext in class SinkAdapterpublic void rawText(String text)
rawText in interface SinkrawText in class SinkAdapterpublic void comment(String comment)
comment in interface Sinkcomment in class SinkAdapterpublic void unknown(String name, Object[] requiredParams, SinkEventAttributes attributes)
If HtmlTools.getHtmlTag(name)
does not return null, the corresponding tag will be written.
For example, the div block
<div class="detail" style="display:inline">text</div>
can be generated via the following event sequence:
SinkEventAttributeSet atts = new SinkEventAttributeSet();
atts.addAttribute(SinkEventAttributes.CLASS, "detail");
atts.addAttribute(SinkEventAttributes.STYLE, "display:inline");
sink.unknown("div", new Object[]{new Integer(HtmlMarkup.TAG_TYPE_START)}, atts);
sink.text("text");
sink.unknown("div", new Object[]{new Integer(HtmlMarkup.TAG_TYPE_END)}, null);
unknown in interface Sinkunknown in class SinkAdaptername - the name of the event. If this is not a valid xhtml tag name
as defined in HtmlMarkup then the event is ignored.requiredParams - If this is null or the first argument is not an Integer then the event is ignored.
The first argument should indicate the type of the unknown event, its integer value should be one of
TAG_TYPE_START,
TAG_TYPE_END,
TAG_TYPE_SIMPLE,
ENTITY_TYPE, or
CDATA_TYPE,
otherwise the event will be ignored.attributes - a set of attributes for the event. May be null.
The attributes will always be written, no validity check is performed.public void flush()
flush in interface Sinkflush in class SinkAdapterpublic void close()
close in interface AutoCloseableclose in interface Sinkclose in class SinkAdapterprotected void content(String text)
text - The text to write.protected void verbatimContent(String text)
text - The text to write.protected static String escapeHTML(String text)
text - the String to escape, may be nullHtmlTools.escapeHTML(String)protected static String encodeURL(String text)
text - the String to encode, may be null.HtmlTools.encodeURL(String)protected void write(String text)
write in class AbstractXmlSinktext - the given text to writeprotected void writeStartTag(HTML.Tag t, MutableAttributeSet att, boolean isSimpleTag)
<tag attName="attValue">
writeStartTag in class AbstractXmlSinkt - a non null tag.att - a set of attributes. May be null.isSimpleTag - boolean to write as a simple tag.protected void writeEndTag(HTML.Tag t)
</tag>.
writeEndTag in class AbstractXmlSinkt - a tag.Copyright © 2005–2024 The Apache Software Foundation. All rights reserved.