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_()
Ends an address element.
|
void |
address(SinkEventAttributes attributes)
Starts an address element.
|
void |
anchor_()
Ends an anchor element.
|
void |
anchor(String name,
SinkEventAttributes attributes)
Starts an element which defines an anchor.
|
void |
article_()
Ends the article element.
|
void |
article(SinkEventAttributes attributes)
Starts an article within a document.
|
void |
blockquote_()
Ends an blockquote element.
|
void |
blockquote(SinkEventAttributes attributes)
Starts a blockquote element.
|
void |
bold_()
Ends a bold element.
|
void |
bold()
Starts a bold element.
|
void |
close()
Close the writer or the stream, if needed.
|
void |
comment(String comment)
Add a comment.
|
void |
content_()
Ends a main content section.
|
void |
content(SinkEventAttributes attributes)
Start the main content section between the header and the
footer within the sections and/or body.
|
protected void |
content(String text)
Write HTML escaped text to output.
|
void |
data_()
Ends an data element.
|
void |
data(String value,
SinkEventAttributes attributes)
Starts a data element which groups together other elements representing microformats.
|
void |
definedTerm_()
Ends a definition term element within a definition list.
|
void |
definedTerm(SinkEventAttributes attributes)
Starts a definition term element within a definition list.
|
void |
definition_()
Ends a definition element within a definition list.
|
void |
definition(SinkEventAttributes attributes)
Starts a definition element within a definition list.
|
void |
definitionList_()
Ends a definition list element.
|
void |
definitionList(SinkEventAttributes attributes)
Starts a definition list.
|
void |
division_()
Ends a division element.
|
void |
division(SinkEventAttributes attributes)
Starts a division element grouping together other elements.
|
protected static String |
encodeURL(String text)
Forward to HtmlTools.encodeURL(text).
|
protected static String |
escapeHTML(String text)
Forward to HtmlTools.escapeHTML(text).
|
void |
figure_()
Ends a basic image embedding element.
|
void |
figure(SinkEventAttributes attributes)
Starts a basic image embedding element.
|
void |
figureCaption_()
Ends a caption of an image.
|
void |
figureCaption(SinkEventAttributes attributes)
Starts a figure caption.
|
void |
figureGraphics(String src,
SinkEventAttributes attributes)
Adds a graphic element.
|
void |
flush()
Flush the writer or the stream, if needed.
|
void |
footer_()
Ends a footer element.
|
void |
footer(SinkEventAttributes attributes)
Start a new footer within the section or body.
|
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_()
Ends a header element.
|
void |
header(SinkEventAttributes attributes)
Start a new header within the section or body.
|
void |
horizontalRule(SinkEventAttributes attributes)
Adds a horizontal separator rule.
|
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_()
Ends an inline element.
|
void |
inline(SinkEventAttributes attributes)
Starts an inline element.
|
protected boolean |
isHeadFlag()
isHeadFlag.
|
protected boolean |
isVerbatim() |
void |
italic_()
Ends an italic element.
|
void |
italic()
Starts an italic element.
|
void |
lineBreak(SinkEventAttributes attributes)
Adds a line break.
|
void |
lineBreakOpportunity(SinkEventAttributes attributes)
Adds a line break opportunity.
|
void |
link_()
Ends a link element.
|
void |
link(String name,
SinkEventAttributes attributes)
The default style class for external link is
externalLink. |
void |
list_()
Ends an unordered list element.
|
void |
list(SinkEventAttributes attributes)
Starts an unordered list.
|
void |
listItem_()
Ends a list item element within an unordered list.
|
void |
listItem(SinkEventAttributes attributes)
Starts a list item element within an unordered list.
|
void |
monospaced_()
Ends a monospaced element.
|
void |
monospaced()
Starts a monospaced element.
|
void |
navigation_()
Ends the navigation element.
|
void |
navigation(SinkEventAttributes attributes)
Starts a navigation section within a document.
|
void |
nonBreakingSpace()
Adding a non breaking space, ie a space without any special formatting operations.
|
void |
numberedList_()
Ends an ordered list element.
|
void |
numberedList(int numbering,
SinkEventAttributes attributes)
The default list style depends on the numbering.
|
void |
numberedListItem_()
Ends a list item element within an ordered list.
|
void |
numberedListItem(SinkEventAttributes attributes)
Starts a list item element within an ordered list.
|
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()
Adding a new page separator.
|
void |
paragraph_()
Ends a paragraph element.
|
void |
paragraph(SinkEventAttributes attributes)
Starts a paragraph.
|
void |
rawText(String text)
Adding a raw text, ie a text without any special formatting operations.
|
protected void |
resetTextBuffer()
Reset the text buffer.
|
void |
section_(int level)
Ends a section at the given level.
|
void |
section(int level,
SinkEventAttributes attributes)
Start a new section at the given level.
|
void |
sectionTitle_(int level)
Ends a section title at the given level.
|
void |
sectionTitle(int level,
SinkEventAttributes attributes)
Start a new section title at the given level.
|
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_()
Ends the sidebar element.
|
void |
sidebar(SinkEventAttributes attributes)
Starts a sidebar section within a document.
|
void |
table_()
Ends a table element.
|
void |
table(SinkEventAttributes attributes)
Starts a table.
|
void |
tableCaption_()
Ends a caption element of a table.
|
void |
tableCaption(SinkEventAttributes attributes)
Starts a table caption.
|
void |
tableCell_()
Ends a cell element.
|
void |
tableCell(SinkEventAttributes attributes)
Starts a table cell.
|
void |
tableHeaderCell_()
Ends a cell header element.
|
void |
tableHeaderCell(SinkEventAttributes attributes)
Starts a table header cell.
|
void |
tableRow_()
Ends a row element.
|
void |
tableRow(SinkEventAttributes attributes)
Rows are striped with two colors by adding the class
a or b. |
void |
tableRows_()
Ends an element that contains rows of table data.
|
void |
tableRows(int[] justification,
boolean grid)
The default style class is
bodyTable. |
void |
text(String text,
SinkEventAttributes attributes)
Adds a text.
|
void |
time_()
Ends a time element.
|
void |
time(String datetime,
SinkEventAttributes attributes)
Starts a time element which groups together other elements representing a time.
|
void |
unknown(String name,
Object[] requiredParams,
SinkEventAttributes attributes)
Add an unknown event.
|
void |
verbatim_()
Ends a verbatim element.
|
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)
Supported attributes are the base attributes.
article in interface Sinkarticle in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.public void article_()
article_ in interface Sinkarticle_ in class SinkAdapterpublic void navigation(SinkEventAttributes attributes)
Supported attributes are the base attributes.
navigation in interface Sinknavigation in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.Sink.navigation(SinkEventAttributes)public void navigation_()
navigation_ in interface Sinknavigation_ in class SinkAdapterpublic void sidebar(SinkEventAttributes attributes)
Supported attributes are the base attributes.
sidebar in interface Sinksidebar in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.public void sidebar_()
sidebar_ in interface Sinksidebar_ in class SinkAdapterpublic void section(int level, SinkEventAttributes attributes)
Sections with higher level have to be entirely contained within sections of lower level.
Supported attributes are the base attributes.
section in interface Sinksection in class SinkAdapterlevel - the section level (must be a value between 1 and 6).attributes - A set of SinkEventAttributes, may be null.public void sectionTitle(int level, SinkEventAttributes attributes)
This element is optional, but if it exists, it has to be contained, and be the first
element, within a corresponding section
element of the same level.
NOTE: It is strongly recommended not to make section titles implicit anchors. Neither Parsers nor Sinks should insert any content that is not explicitly present in the original source document, as this would lead to undefined behaviour for multi-format processing chains. However, while Parsers must never emit anchors for section titles, some specialized Sinks may implement such a feature if the resulting output documents are not going to be further processed (and this is properly documented).
Supported attributes are the base attributes plus
ALIGN.
sectionTitle in interface SinksectionTitle in class SinkAdapterlevel - the section title level (must be a value between 1 and 6).attributes - A set of SinkEventAttributes, may be null.public void sectionTitle_(int level)
sectionTitle_ in interface SinksectionTitle_ in class SinkAdapterlevel - the section title level (must be a value between 1 and 6).public void section_(int level)
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.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)
Supported attributes are the base attributes.
header in interface Sinkheader in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.public void header_()
header_ in interface Sinkheader_ in class SinkAdapterpublic void content(SinkEventAttributes attributes)
Supported attributes are the base attributes.
content in interface Sinkcontent in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.public void content_()
content_ in interface Sinkcontent_ in class SinkAdapterpublic void footer(SinkEventAttributes attributes)
Supported attributes are the base attributes.
footer in interface Sinkfooter in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.public void footer_()
footer_ in interface Sinkfooter_ in class SinkAdapterpublic void list(SinkEventAttributes attributes)
Supported attributes are the base attributes.
list in interface Sinklist in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.HTML.Tag.ULpublic void list_()
list_ in interface Sinklist_ in class SinkAdapterHTML.Tag.ULpublic void listItem(SinkEventAttributes attributes)
Supported attributes are the base attributes.
listItem in interface SinklistItem in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.HTML.Tag.LIpublic void listItem_()
listItem_ in interface SinklistItem_ in class SinkAdapterHTML.Tag.LIpublic void numberedList(int numbering, SinkEventAttributes attributes)
Supported attributes are the base attributes.
numberedList in interface SinknumberedList in class SinkAdapternumbering - the numbering style.attributes - A set of SinkEventAttributes, may be null.HTML.Tag.OLpublic void numberedList_()
numberedList_ in interface SinknumberedList_ in class SinkAdapterHTML.Tag.OLpublic void numberedListItem(SinkEventAttributes attributes)
Supported attributes are the base attributes.
numberedListItem in interface SinknumberedListItem in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.HTML.Tag.LIpublic void numberedListItem_()
numberedListItem_ in interface SinknumberedListItem_ in class SinkAdapterHTML.Tag.LIpublic void definitionList(SinkEventAttributes attributes)
Supported attributes are the base attributes.
definitionList in interface SinkdefinitionList in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.HTML.Tag.DLpublic void definitionList_()
definitionList_ in interface SinkdefinitionList_ in class SinkAdapterHTML.Tag.DLpublic void definedTerm(SinkEventAttributes attributes)
Supported attributes are the base attributes.
definedTerm in interface SinkdefinedTerm in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.HTML.Tag.DTpublic void definedTerm_()
definedTerm_ in interface SinkdefinedTerm_ in class SinkAdapterHTML.Tag.DTpublic void definition(SinkEventAttributes attributes)
Supported attributes are the base attributes.
definition in interface Sinkdefinition in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.HTML.Tag.DDpublic void definition_()
definition_ in interface Sinkdefinition_ in class SinkAdapterHTML.Tag.DDpublic void figure(SinkEventAttributes attributes)
The canonical sequence of events for the figure element is:
sink.figure();
sink.figureGraphics("figure.png");
sink.figureCaption();
sink.text("Figure caption",);
sink.figureCaption_();
sink.figure_();
where the figureCaption element is optional.
However, NOTE that the order of figureCaption and figureGraphics events is arbitrary, ie a parser may emit the figureCaption before or after the figureGraphics. Implementing sinks should be prepared to handle both possibilities.
NOTE also that the figureGraphics() event does not have to be embedded
inside figure(), in particular for in-line images the figureGraphics() should be used
stand-alone (in HTML language, figureGraphics() produces a <img>
tag, while figure() opens a paragraph- or <div>- like environment).
Supported attributes are the base attributes.
figure in interface Sinkfigure in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.public void figure_()
figure_ in interface Sinkfigure_ in class SinkAdapterpublic void figureGraphics(String src, SinkEventAttributes attributes)
The src parameter should be a valid link, ie it can be an absolute
URL or a link relative to the current source document.
Supported attributes are the base attributes plus:
SRC,ALT,WIDTH,HEIGHT,ALIGN,BORDER,HSPACE,VSPACE,ISMAP,USEMAP.
If the SRC attribute is specified in SinkEventAttributes,
it will be overridden by the src parameter.
figureGraphics in interface SinkfigureGraphics in class SinkAdaptersrc - the image source, a valid URL.attributes - A set of SinkEventAttributes, may be null.Sink.figure(SinkEventAttributes)public void figureCaption(SinkEventAttributes attributes)
Supported attributes are the base attributes.
figureCaption in interface SinkfigureCaption in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.Sink.figure(SinkEventAttributes)public void figureCaption_()
figureCaption_ in interface SinkfigureCaption_ in class SinkAdapterpublic void paragraph(SinkEventAttributes attributes)
Supported attributes are the base attributes
plus ALIGN.
paragraph in interface Sinkparagraph in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.HTML.Tag.Ppublic void paragraph_()
paragraph_ in interface Sinkparagraph_ in class SinkAdapterHTML.Tag.Ppublic void data(String value, SinkEventAttributes attributes)
Supported attributes are the base attributes
plus VALUE.
data in interface Sinkdata in class SinkAdaptervalue - the machine readable value of the data, may be null.attributes - A set of SinkEventAttributes, may be null.public void data_()
data_ in interface Sinkdata_ in class SinkAdapterpublic void time(String datetime, SinkEventAttributes attributes)
Supported attributes are the base attributes
plus DATETIME.
time in interface Sinktime in class SinkAdapterdatetime - the machine readable value of the time, may be null.attributes - A set of SinkEventAttributes, may be null.public void time_()
time_ in interface Sinktime_ in class SinkAdapterpublic void address(SinkEventAttributes attributes)
address in interface Sinkaddress in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.HTML.Tag.ADDRESSpublic void address_()
address_ in interface Sinkaddress_ in class SinkAdapterHTML.Tag.ADDRESSpublic void blockquote(SinkEventAttributes attributes)
Supported attributes are the base attributes.
blockquote in interface Sinkblockquote in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.HTML.Tag.BLOCKQUOTEpublic void blockquote_()
blockquote_ in interface Sinkblockquote_ in class SinkAdapterHTML.Tag.BLOCKQUOTEpublic void division(SinkEventAttributes attributes)
Supported attributes are the base attributes
plus ALIGN.
division in interface Sinkdivision in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.HTML.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.
Starts a verbatim block, ie a block where whitespace has semantic relevance.
Text in a verbatim block must only be wrapped at the linebreaks in the source, and spaces should not be collapsed. It should be displayed in a fixed-width font to retain the formatting but the overall size may be chosen by the implementation.
Most Sink events may be emitted within a verbatim block, the only elements explicitly forbidden are font-changing events and figures. Also, verbatim blocks may not be nested.
Supported attributes are the base attributes plus:
DECORATION(values: "source"),ALIGN,WIDTH.
verbatim in interface Sinkverbatim in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.HTML.Tag.PRE,
HTML.Tag.CODEpublic void verbatim_()
verbatim_ in interface Sinkverbatim_ in class SinkAdapterHTML.Tag.CODE,
HTML.Tag.PREpublic void horizontalRule(SinkEventAttributes attributes)
Supported attributes are the base attributes plus:
ALIGN,NOSHADE,SIZE,WIDTH.
horizontalRule in interface SinkhorizontalRule in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.HTML.Tag.HRpublic void table(SinkEventAttributes attributes)
The canonical sequence of events for the table element is:
sink.table();
sink.tableRows(justify, true);
sink.tableRow();
sink.tableCell();
sink.text("cell 1,1");
sink.tableCell_();
sink.tableCell();
sink.text("cell 1,2");
sink.tableCell_();
sink.tableRow_();
sink.tableRows_();
sink.tableCaption();
sink.text("Table caption");
sink.tableCaption_();
sink.table_();
where the tableCaption element is optional.
However, NOTE that the order of tableCaption and
Sink.tableRows(int[],boolean) events is arbitrary,
ie a parser may emit the tableCaption before or after the tableRows.
Implementing sinks should be prepared to handle both possibilities.
Supported attributes are the base attributes plus:
ALIGN,BGCOLOR,BORDER,CELLPADDING,CELLSPACING,FRAME,RULES,SUMMARY,WIDTH.
table in interface Sinktable in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.public 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
true to provide a grid, false otherwise.justification - the default justification of columns.
This can be overridden by individual table rows or table cells.
If null a left alignment is assumed by default. If this array
has less elements than there are columns in the table then the value of
the last array element will be taken as default for the remaining table cells.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. Starts a table row.
Supported attributes are the base attributes plus:
ALIGN,BGCOLOR,VALIGN.
tableRow in interface SinktableRow in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.HTML.Tag.TRpublic void tableRow_()
tableRow_ in interface SinktableRow_ in class SinkAdapterHTML.Tag.TRpublic void tableCell(SinkEventAttributes attributes)
Supported attributes are the base attributes plus:
ABBRV,ALIGN,AXIS,BGCOLOR,COLSPAN,HEADERS,HEIGHT,NOWRAP,ROWSPAN,SCOPE,VALIGN,WIDTH.
tableCell in interface SinktableCell in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.public void tableHeaderCell(SinkEventAttributes attributes)
Supported attributes are the same as for tableCell.
tableHeaderCell in interface SinktableHeaderCell in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.public void tableCell_()
tableCell_ in interface SinktableCell_ in class SinkAdapterpublic void tableHeaderCell_()
tableHeaderCell_ in interface SinktableHeaderCell_ in class SinkAdapterpublic void tableCaption(SinkEventAttributes attributes)
Note that the order of tableCaption and
Sink.tableRows(int[],boolean) events is arbitrary,
ie a parser may emit the tableCaption before or after the tableRows.
Implementing sinks should be prepared to handle both possibilities.
Supported attributes are the base attributes
plus ALIGN.
tableCaption in interface SinktableCaption in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.HTML.Tag.CAPTIONpublic void tableCaption_()
tableCaption_ in interface SinktableCaption_ in class SinkAdapterHTML.Tag.CAPTIONpublic void anchor(String name, SinkEventAttributes attributes)
The name parameter has to be a valid SGML NAME token.
According to the
HTML 4.01 specification section 6.2 SGML basic types:
ID and NAME tokens must begin with a letter ([A-Za-z]) and may be followed by any number of letters, digits ([0-9]), hyphens ("-"), underscores ("_"), colons (":"), and periods (".").
Supported attributes are the base attributes.
If NAME is specified in the SinkEventAttributes,
it will be overwritten by the name parameter.
anchor in interface Sinkanchor in class SinkAdaptername - the name of the anchor. This has to be a valid SGML NAME token.attributes - A set of SinkEventAttributes, may be null.HTML.Tag.Apublic void anchor_()
anchor_ in interface Sinkanchor_ in class SinkAdapterHTML.Tag.Apublic void link(String name, SinkEventAttributes attributes)
externalLink.
Starts a link.
The name parameter has to be a valid URI according to
RFC 3986,
i.e. for internal links (links to an anchor within the same source
document), name should start with the character "#".
This also implies that all unsafe characters are already encoded.
Supported attributes are the base attributes plus:
CHARSET,COORDS,HREF,HREFLANG,REL,REV,SHAPE,TARGET,TYPE.
If HREF is specified in the
SinkEventAttributes, it will be overwritten by the name parameter.
link in interface Sinklink in class SinkAdaptername - the name of the link.attributes - A set of SinkEventAttributes, may be null.HTML.Tag.Apublic void link_()
link_ in interface Sinklink_ in class SinkAdapterHTML.Tag.Apublic void inline(SinkEventAttributes attributes)
The inline method is similar to Sink.text(String,SinkEventAttributes), but
allows you to wrap arbitrary elements in addition to text.
Supported attributes are the base attributes plus
SEMANTICS (values "emphasis", "strong",
"small", "line-through", "citation", "quote", "definition", "abbreviation",
"italic", "bold", "monospaced", "variable", "sample", "keyboard", "superscript",
"subscript", "annotation", "highlight", "ruby", "rubyBase", "rubyText",
"rubyTextContainer", "rubyParentheses", "bidirectionalIsolation",
"bidirectionalOverride", "phrase", "insert", "delete").
inline in interface Sinkinline in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.public void inline_()
inline_ in interface Sinkinline_ in class SinkAdapterpublic void italic()
Sink.text(String,SinkEventAttributes) with
STYLE instead.italic in interface Sinkitalic in class SinkAdapterHTML.Tag.Ipublic void italic_()
Sink.text(String,SinkEventAttributes) with
STYLE instead.italic_ in interface Sinkitalic_ in class SinkAdapterHTML.Tag.Ipublic void bold()
Sink.text(String,SinkEventAttributes) with
STYLE instead.bold in interface Sinkbold in class SinkAdapterHTML.Tag.Bpublic void bold_()
Sink.text(String,SinkEventAttributes) with
STYLE instead.bold_ in interface Sinkbold_ in class SinkAdapterHTML.Tag.Bpublic void monospaced()
Sink.text(String,SinkEventAttributes) with
STYLE instead.monospaced in interface Sinkmonospaced in class SinkAdapterHTML.Tag.CODEpublic void monospaced_()
Sink.text(String,SinkEventAttributes) with
STYLE instead.monospaced_ in interface Sinkmonospaced_ in class SinkAdapterHTML.Tag.CODEpublic void lineBreak(SinkEventAttributes attributes)
lineBreak in interface SinklineBreak in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.HTML.Tag.BRpublic void lineBreakOpportunity(SinkEventAttributes attributes)
lineBreakOpportunity in interface SinklineBreakOpportunity in class SinkAdapterattributes - A set of SinkEventAttributes, may be null.public void pageBreak()
pageBreak in interface SinkpageBreak in class SinkAdapterpublic void nonBreakingSpace()
nonBreakingSpace in interface SinknonBreakingSpace in class SinkAdapterpublic void text(String text, SinkEventAttributes attributes)
The text parameter should contain only real content, ie any
ignorable/collapsable whitespace/EOLs or other pretty-printing should
be removed/normalized by a parser.
If text contains any variants of line terminators, they should
be normalized to the System EOL by an implementing Sink.
Supported attributes are the base attributes plus
SEMANTICS (values "emphasis", "strong",
"small", "line-through", "citation", "quote", "definition", "abbreviation",
"italic", "bold", "monospaced", "variable", "sample", "keyboard", "superscript",
"subscript", "annotation", "highlight", "ruby", "rubyBase", "rubyText",
"rubyTextContainer", "rubyParentheses", "bidirectionalIsolation",
"bidirectionalOverride", "phrase", "insert", "delete").
The following attributes are deprecated:
VALIGN(values "sub", "sup"),DECORATION(values "underline", "overline", "line-through"),STYLE(values "italic", "bold", "monospaced").
text in interface Sinktext in class SinkAdaptertext - The text to write.attributes - A set of SinkEventAttributes, may be null.public void rawText(String text)
rawText in interface SinkrawText in class SinkAdaptertext - The text to write.public void comment(String comment)
comment in interface Sinkcomment in class SinkAdaptercomment - The comment to write.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 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.