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, WBR
BANG, CDATA, DOCTYPE_START, ENTITY_START, XML_NAMESPACE
COLON, EOL, EQUAL, GREATER_THAN, LEFT_CURLY_BRACKET, LEFT_SQUARE_BRACKET, LESS_THAN, MINUS, PLUS, QUOTE, RIGHT_CURLY_BRACKET, RIGHT_SQUARE_BRACKET, SEMICOLON, SLASH, SPACE, STAR
JUSTIFY_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, writeStartTag
author_, author, body_, body, date_, date, definitionListItem_, definitionListItem, head_, head, title_, title
address, 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, verbatim
protected 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 AbstractSink
protected void resetTextBuffer()
public void article(SinkEventAttributes attributes)
article
in interface Sink
article
in class SinkAdapter
public void article_()
article_
in interface Sink
article_
in class SinkAdapter
public void navigation(SinkEventAttributes attributes)
navigation
in interface Sink
navigation
in class SinkAdapter
public void navigation_()
navigation_
in interface Sink
navigation_
in class SinkAdapter
public void sidebar(SinkEventAttributes attributes)
sidebar
in interface Sink
sidebar
in class SinkAdapter
public void sidebar_()
sidebar_
in interface Sink
sidebar_
in class SinkAdapter
public void section(int level, SinkEventAttributes attributes)
section
in interface Sink
section
in class SinkAdapter
public void sectionTitle(int level, SinkEventAttributes attributes)
sectionTitle
in interface Sink
sectionTitle
in class SinkAdapter
public void sectionTitle_(int level)
sectionTitle_
in interface Sink
sectionTitle_
in class SinkAdapter
public void section_(int level)
section_
in interface Sink
section_
in class SinkAdapter
protected 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.SECTION
protected 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.H6
protected void onSectionTitle_(int depth)
depth
- The level of the section title.HtmlMarkup.H1
,
HtmlMarkup.H2
,
HtmlMarkup.H3
,
HtmlMarkup.H4
,
HtmlMarkup.H5
,
HtmlMarkup.H6
public void header(SinkEventAttributes attributes)
header
in interface Sink
header
in class SinkAdapter
public void header_()
header_
in interface Sink
header_
in class SinkAdapter
public void content(SinkEventAttributes attributes)
content
in interface Sink
content
in class SinkAdapter
public void content_()
content_
in interface Sink
content_
in class SinkAdapter
public void footer(SinkEventAttributes attributes)
footer
in interface Sink
footer
in class SinkAdapter
public void footer_()
footer_
in interface Sink
footer_
in class SinkAdapter
public void list(SinkEventAttributes attributes)
list
in interface Sink
list
in class SinkAdapter
HTML.Tag.UL
public void list_()
list_
in interface Sink
list_
in class SinkAdapter
HTML.Tag.UL
public void listItem(SinkEventAttributes attributes)
listItem
in interface Sink
listItem
in class SinkAdapter
HTML.Tag.LI
public void listItem_()
listItem_
in interface Sink
listItem_
in class SinkAdapter
HTML.Tag.LI
public void numberedList(int numbering, SinkEventAttributes attributes)
numberedList
in interface Sink
numberedList
in class SinkAdapter
HTML.Tag.OL
public void numberedList_()
numberedList_
in interface Sink
numberedList_
in class SinkAdapter
HTML.Tag.OL
public void numberedListItem(SinkEventAttributes attributes)
numberedListItem
in interface Sink
numberedListItem
in class SinkAdapter
HTML.Tag.LI
public void numberedListItem_()
numberedListItem_
in interface Sink
numberedListItem_
in class SinkAdapter
HTML.Tag.LI
public void definitionList(SinkEventAttributes attributes)
definitionList
in interface Sink
definitionList
in class SinkAdapter
HTML.Tag.DL
public void definitionList_()
definitionList_
in interface Sink
definitionList_
in class SinkAdapter
HTML.Tag.DL
public void definedTerm(SinkEventAttributes attributes)
definedTerm
in interface Sink
definedTerm
in class SinkAdapter
HTML.Tag.DT
public void definedTerm_()
definedTerm_
in interface Sink
definedTerm_
in class SinkAdapter
HTML.Tag.DT
public void definition(SinkEventAttributes attributes)
definition
in interface Sink
definition
in class SinkAdapter
HTML.Tag.DD
public void definition_()
definition_
in interface Sink
definition_
in class SinkAdapter
HTML.Tag.DD
public void figure(SinkEventAttributes attributes)
figure
in interface Sink
figure
in class SinkAdapter
public void figure_()
figure_
in interface Sink
figure_
in class SinkAdapter
public void figureGraphics(String src, SinkEventAttributes attributes)
figureGraphics
in interface Sink
figureGraphics
in class SinkAdapter
public void figureCaption(SinkEventAttributes attributes)
figureCaption
in interface Sink
figureCaption
in class SinkAdapter
public void figureCaption_()
figureCaption_
in interface Sink
figureCaption_
in class SinkAdapter
public void paragraph(SinkEventAttributes attributes)
paragraph
in interface Sink
paragraph
in class SinkAdapter
HTML.Tag.P
public void paragraph_()
paragraph_
in interface Sink
paragraph_
in class SinkAdapter
HTML.Tag.P
public void data(String value, SinkEventAttributes attributes)
data
in interface Sink
data
in class SinkAdapter
public void data_()
data_
in interface Sink
data_
in class SinkAdapter
public void time(String datetime, SinkEventAttributes attributes)
time
in interface Sink
time
in class SinkAdapter
public void time_()
time_
in interface Sink
time_
in class SinkAdapter
public void address(SinkEventAttributes attributes)
address
in interface Sink
address
in class SinkAdapter
HTML.Tag.ADDRESS
public void address_()
address_
in interface Sink
address_
in class SinkAdapter
HTML.Tag.ADDRESS
public void blockquote(SinkEventAttributes attributes)
blockquote
in interface Sink
blockquote
in class SinkAdapter
HTML.Tag.BLOCKQUOTE
public void blockquote_()
blockquote_
in interface Sink
blockquote_
in class SinkAdapter
HTML.Tag.BLOCKQUOTE
public void division(SinkEventAttributes attributes)
division
in interface Sink
division
in class SinkAdapter
HTML.Tag.DIV
public void division_()
division_
in interface Sink
division_
in class SinkAdapter
HTML.Tag.DIV
public 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 Sink
verbatim
in class SinkAdapter
HTML.Tag.PRE
,
HTML.Tag.CODE
public void verbatim_()
verbatim_
in interface Sink
verbatim_
in class SinkAdapter
HTML.Tag.CODE
,
HTML.Tag.PRE
public void horizontalRule(SinkEventAttributes attributes)
horizontalRule
in interface Sink
horizontalRule
in class SinkAdapter
HTML.Tag.HR
public void table(SinkEventAttributes attributes)
table
in interface Sink
table
in class SinkAdapter
public void table_()
table_
in interface Sink
table_
in class SinkAdapter
HTML.Tag.TABLE
public void tableRows(int[] justification, boolean grid)
bodyTable
.tableRows
in interface Sink
tableRows
in class SinkAdapter
grid
- if true
the style class bodyTableBorder
will be added
HTML.Tag.TABLE
public void tableRows_()
tableRows_
in interface Sink
tableRows_
in class SinkAdapter
public 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 Sink
tableRow
in class SinkAdapter
HTML.Tag.TR
public void tableRow_()
tableRow_
in interface Sink
tableRow_
in class SinkAdapter
HTML.Tag.TR
public void tableCell(SinkEventAttributes attributes)
tableCell
in interface Sink
tableCell
in class SinkAdapter
public void tableHeaderCell(SinkEventAttributes attributes)
tableHeaderCell
in interface Sink
tableHeaderCell
in class SinkAdapter
public void tableCell_()
tableCell_
in interface Sink
tableCell_
in class SinkAdapter
public void tableHeaderCell_()
tableHeaderCell_
in interface Sink
tableHeaderCell_
in class SinkAdapter
public void tableCaption(SinkEventAttributes attributes)
tableCaption
in interface Sink
tableCaption
in class SinkAdapter
HTML.Tag.CAPTION
public void tableCaption_()
tableCaption_
in interface Sink
tableCaption_
in class SinkAdapter
HTML.Tag.CAPTION
public void anchor(String name, SinkEventAttributes attributes)
anchor
in interface Sink
anchor
in class SinkAdapter
HTML.Tag.A
public void anchor_()
anchor_
in interface Sink
anchor_
in class SinkAdapter
HTML.Tag.A
public void link(String name, SinkEventAttributes attributes)
externalLink
.
link
in interface Sink
link
in class SinkAdapter
HTML.Tag.A
public void link_()
link_
in interface Sink
link_
in class SinkAdapter
HTML.Tag.A
public void inline(SinkEventAttributes attributes)
inline
in interface Sink
inline
in class SinkAdapter
public void inline_()
inline_
in interface Sink
inline_
in class SinkAdapter
public void italic()
italic
in interface Sink
italic
in class SinkAdapter
HTML.Tag.I
public void italic_()
italic_
in interface Sink
italic_
in class SinkAdapter
HTML.Tag.I
public void bold()
bold
in interface Sink
bold
in class SinkAdapter
HTML.Tag.B
public void bold_()
bold_
in interface Sink
bold_
in class SinkAdapter
HTML.Tag.B
public void monospaced()
monospaced
in interface Sink
monospaced
in class SinkAdapter
HTML.Tag.CODE
public void monospaced_()
monospaced_
in interface Sink
monospaced_
in class SinkAdapter
HTML.Tag.CODE
public void lineBreak(SinkEventAttributes attributes)
lineBreak
in interface Sink
lineBreak
in class SinkAdapter
HTML.Tag.BR
public void lineBreakOpportunity(SinkEventAttributes attributes)
lineBreakOpportunity
in interface Sink
lineBreakOpportunity
in class SinkAdapter
public void pageBreak()
pageBreak
in interface Sink
pageBreak
in class SinkAdapter
public void nonBreakingSpace()
nonBreakingSpace
in interface Sink
nonBreakingSpace
in class SinkAdapter
public void text(String text, SinkEventAttributes attributes)
text
in interface Sink
text
in class SinkAdapter
public void rawText(String text)
rawText
in interface Sink
rawText
in class SinkAdapter
public void comment(String comment)
comment
in interface Sink
comment
in class SinkAdapter
public 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 Sink
unknown
in class SinkAdapter
name
- 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 Sink
flush
in class SinkAdapter
public void close()
close
in interface AutoCloseable
close
in interface Sink
close
in class SinkAdapter
protected 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 AbstractXmlSink
text
- the given text to writeprotected void writeStartTag(HTML.Tag t, MutableAttributeSet att, boolean isSimpleTag)
<tag attName="attValue">
writeStartTag
in class AbstractXmlSink
t
- 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 AbstractXmlSink
t
- a tag.Copyright © 2005–2024 The Apache Software Foundation. All rights reserved.