public class FoAggregateSink extends FoSink
FoAggregateSink sink = new FoAggregateSink( writer ); sink.setDocumentModel( documentModel ); sink.beginDocument(); sink.coverPage(); sink.toc(); ... sink.endDocument();Note: the documentModel object contains several document metadata, but only a few of them are used in this sink (i.e. author, confidential, date and title), the others are ignored.
Modifier and Type | Field and Description |
---|---|
static int |
TOC_END
Table Of Content at the end of the document.
|
static int |
TOC_NONE
No Table Of Content.
|
static int |
TOC_START
Table Of Content at the start of the document.
|
inlineStack, warnMessages
BASIC_LINK_TAG, BLOCK_TAG, BOOKMARK_TAG, BOOKMARK_TITLE_TAG, BOOKMARK_TREE_TAG, FLOW_TAG, FO_NAMESPACE, INLINE_TAG, LAYOUT_MASTER_SET_TAG, LEADER_TAG, LIST_BLOCK_TAG, LIST_ITEM_BODY_TAG, LIST_ITEM_LABEL_TAG, LIST_ITEM_TAG, PAGE_NUMBER_CITATION_TAG, PAGE_NUMBER_TAG, PAGE_SEQUENCE_TAG, REGION_AFTER_TAG, REGION_BEFORE_TAG, REGION_BODY_TAG, ROOT_TAG, SIMPLE_PAGE_MASTER_TAG, STATIC_CONTENT_TAG, TABLE_AND_CAPTION_TAG, TABLE_BODY_TAG, TABLE_CAPTION_TAG, TABLE_CELL_TAG, TABLE_COLUMN_TAG, TABLE_ROW_TAG, TABLE_TAG
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, ROLE, SECTION_LEVEL_1, SECTION_LEVEL_2, SECTION_LEVEL_3, SECTION_LEVEL_4, SECTION_LEVEL_5, SECTION_LEVEL_6
Constructor and Description |
---|
FoAggregateSink(Writer writer)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
anchor(String name)
Starts an element which defines an anchor.
|
void |
anchor(String name,
SinkEventAttributes attributes)
Starts an element which defines an anchor.
|
void |
author_()
Ends an author element.
|
void |
author()
Starts an author element.
|
void |
author(SinkEventAttributes attributes)
Starts an author element.
|
void |
body_()
Ends the body element.
|
void |
body()
Starts the body of a document.
|
void |
body(SinkEventAttributes attributes)
Starts the body of a document.
|
protected void |
chapterHeading(String headerText,
boolean chapterNumber)
Writes a chapter heading.
|
protected void |
content(String text)
Writes content, escaping special characters.
|
void |
coverPage()
Writes a cover page.
|
void |
date_()
Ends the date element.
|
void |
date()
Starts the date element.
|
void |
date(SinkEventAttributes attributes)
Starts the date element.
|
void |
figureGraphics(String name)
Adding a source of a graphic.
|
void |
figureGraphics(String src,
SinkEventAttributes attributes)
Adds a graphic element.
|
protected String |
getChapterString()
Returns the current chapter number as a string.
|
protected String |
getFooterText()
Returns the text to write in the footer of each page.
|
protected String |
getHeaderText()
Returns the text to write in the header of each page.
|
void |
head_()
Ends the head element.
|
void |
head()
Starts the head element.
|
void |
head(SinkEventAttributes attributes)
Starts the head element.
|
void |
link(String name)
Starts an element which defines a link.
|
void |
link(String name,
SinkEventAttributes attributes)
Starts a link.
|
protected void |
newline()
Writes EOL.
|
protected void |
pdfBookmarks()
Writes a fo:bookmark-tree.
|
protected void |
regionAfter(String footerText)
Writes a 'xsl-region-after' block.
|
protected void |
regionBefore(String headerText)
Writes a 'xsl-region-before' block.
|
void |
setDocumentModel(DocumentModel model)
Sets the DocumentModel to be used by this sink.
|
void |
setDocumentModel(DocumentModel model,
int tocPos)
Sets the DocumentModel to be used by this sink.
|
void |
setDocumentName(String name)
Sets the name of the current source document, relative to the source root.
|
void |
setDocumentTitle(String title)
Sets the title of the current document.
|
protected void |
startPageSequence(String headerText,
String footerText)
Starts a page sequence, depending on the current chapter.
|
void |
title_()
Ends the title element.
|
void |
title()
Starts the title element.
|
void |
title(SinkEventAttributes attributes)
Starts the title element.
|
void |
toc()
Writes a table of contents.
|
protected void |
write(String text)
Write a text to the sink.
|
protected void |
writeEmptyTag(HTML.Tag tag,
String attributeId)
Writes a simple tag, appending EOL.
|
protected void |
writeEndTag(HTML.Tag t)
Ends a Tag without writing an EOL.
|
protected void |
writeln(String text)
Writes a text, appending EOL.
|
protected void |
writeStartTag(HTML.Tag tag,
String attributeId)
Writes a start tag, prepending EOL.
|
protected void |
writeStartTag(HTML.Tag tag,
String id,
String name)
Writes a start tag, prepending EOL.
|
anchor_, beginDocument, bold_, bold, close, comment, definedTerm_, definedTerm, definedTerm, definition_, definition, definition, definitionList_, definitionList, definitionList, definitionListItem_, definitionListItem, definitionListItem, endDocument, escaped, figure_, figure, figure, figureCaption_, figureCaption, figureCaption, flush, getFoConfiguration, horizontalRule, horizontalRule, init, inline_, inline, inline, isFigure, italic_, italic, lineBreak, lineBreak, link_, list_, list, list, listItem_, listItem, listItem, load, logMessage, monospaced_, monospaced, nonBreakingSpace, numberedList_, numberedList, numberedList, numberedListItem_, numberedListItem, numberedListItem, pageBreak, paragraph_, paragraph, paragraph, rawText, resetSectionCounter, section_, section, section1_, section1, section2_, section2, section3_, section3, section4_, section4, section5_, section5, sectionTitle_, sectionTitle_, sectionTitle, sectionTitle, sectionTitle1_, sectionTitle1, sectionTitle2_, sectionTitle2, sectionTitle3_, sectionTitle3, sectionTitle4_, sectionTitle4, sectionTitle5_, sectionTitle5, startPageSequence, table_, table, table, tableCaption_, tableCaption, tableCaption, tableCell_, tableCell, tableCell, tableCell, tableHeaderCell_, tableHeaderCell, tableHeaderCell, tableHeaderCell, tableRow_, tableRow, tableRow, tableRows_, tableRows, text, text, unknown, verbatim_, verbatim, verbatim, writeEmptyTag, writeStartTag, writeStartTag
getNameSpace, setInsertNewline, setNameSpace, writeEOL, writeSimpleTag, writeSimpleTag, writeStartTag, writeStartTag
address_, address, address, article_, article, article, blockquote_, blockquote, blockquote, content_, content, content, data_, data, data, division_, division, division, footer_, footer, footer, header_, header, header, lineBreakOpportunity, lineBreakOpportunity, navigation_, navigation, navigation, section6_, section6, sectionTitle6_, sectionTitle6, sidebar_, sidebar, sidebar, time_, time, time
enableLogging, getLog, unifyEOLs
public static final int TOC_NONE
public static final int TOC_START
public static final int TOC_END
public FoAggregateSink(Writer writer)
writer
- The writer for writing the result.public void head()
head
in interface Sink
head
in class FoSink
Sink.head(SinkEventAttributes)
public void head(SinkEventAttributes attributes)
This contains information about the current document, (eg its title) that is not
considered document content. The head element is optional but if it exists, it has to be
unique within a sequence of Sink events that produces one output document, and it has
to come before the Sink.body(SinkEventAttributes)
element.
The canonical sequence of events for the head element is:
sink.head(); sink.title(); sink.text( "Title" ); sink.title_(); sink.author(); sink.text( "Author" ); sink.author_(); sink.date(); sink.text( "Date" ); sink.date_(); sink.head_();
but none of the enclosed events is required. However, if they exist they have to occur in the order shown, and the title() and date() events have to be unique (author() events may occur any number of times).
Supported attributes are:
PROFILE
,LANG
.
head
in interface Sink
head
in class FoSink
attributes
- A set of SinkEventAttributes
, may be null
.public void head_()
public void title()
title
in interface Sink
title
in class FoSink
Sink.title(SinkEventAttributes)
public void title(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
title
in interface Sink
title
in class FoSink
attributes
- A set of SinkEventAttributes
, may be null
.Sink.head(SinkEventAttributes)
public void title_()
public void author()
author
in interface Sink
author
in class FoSink
Sink.author(SinkEventAttributes)
public void author(SinkEventAttributes attributes)
Supported attributes are: EMAIL
.
author
in interface Sink
author
in class FoSink
attributes
- A set of SinkEventAttributes
, may be null
.Sink.head(SinkEventAttributes)
public void author_()
public void date()
date
in interface Sink
date
in class FoSink
Sink.date(SinkEventAttributes)
public void date(SinkEventAttributes attributes)
YYYY-MM-DDwhere
YYYY
is the year in the Gregorian calendar,MM
is the month of the year between 01 (January) and 12 (December),DD
is the day of the month between 01 and 31.Supported attributes are: none.
date
in interface Sink
date
in class FoSink
attributes
- A set of SinkEventAttributes
, may be null
.Sink.head(SinkEventAttributes)
public void date_()
public void body()
body
in interface Sink
body
in class FoSink
Sink.body(SinkEventAttributes)
public void body(SinkEventAttributes attributes)
Supported attributes are the base attributes
.
body
in interface Sink
body
in class FoSink
attributes
- A set of SinkEventAttributes
, may be null
.Sink.head(SinkEventAttributes)
public void body_()
public void setDocumentTitle(String title)
title
- the title of the current document.public void setDocumentName(String name)
name
- the name for the current document.public void setDocumentModel(DocumentModel model)
model
- the DocumentModel.setDocumentModel(DocumentModel, int)
,
TOC_START
public void setDocumentModel(DocumentModel model, int tocPos)
public void figureGraphics(String name)
figureGraphics
in interface Sink
figureGraphics
in class FoSink
name
- the sourcepublic 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 Sink
figureGraphics
in class FoSink
src
- the image source, a valid URL.attributes
- A set of SinkEventAttributes
, may be null
.Sink.figure(SinkEventAttributes)
public void anchor(String name)
anchor
in interface Sink
anchor
in class FoSink
name
- the name of the anchor.Sink.anchor(String,SinkEventAttributes)
public 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 Sink
anchor
in class FoSink
name
- the name of the anchor. This has to be a valid SGML NAME token.attributes
- A set of SinkEventAttributes
, may be null
.public void link(String name)
link
in interface Sink
link
in class FoSink
name
- the name of the link.Sink.link(String,SinkEventAttributes)
public void link(String name, SinkEventAttributes attributes)
The name
parameter has to be a valid html href
parameter, ie for internal links (links to an anchor within the same source
document), name
should start with the character "#".
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 Sink
link
in class FoSink
name
- the name of the link.attributes
- A set of SinkEventAttributes
, may be null
.protected void writeStartTag(HTML.Tag tag, String attributeId)
writeStartTag
in class FoSink
tag
- The tag.attributeId
- An id identifying the attribute set.protected void writeStartTag(HTML.Tag tag, String id, String name)
writeStartTag
in class FoSink
tag
- The tag.id
- An id to add.name
- The name (value) of the id.protected void writeEndTag(HTML.Tag t)
</tag>.
writeEndTag
in class FoSink
t
- a HTML.Tag
object.protected void writeEmptyTag(HTML.Tag tag, String attributeId)
writeEmptyTag
in class FoSink
tag
- The tag name.attributeId
- An id identifying the attribute set.protected void write(String text)
protected void newline()
protected void startPageSequence(String headerText, String footerText)
headerText
- The text to write in the header, if null, nothing is written.footerText
- The text to write in the footer, if null, nothing is written.protected String getHeaderText()
protected String getFooterText()
protected String getChapterString()
getChapterString
in class FoSink
protected void regionBefore(String headerText)
regionBefore
in class FoSink
headerText
- The text to write in the header, if null, nothing is written.protected void regionAfter(String footerText)
regionAfter
in class FoSink
footerText
- The text to write in the footer, if null, nothing is written.protected void chapterHeading(String headerText, boolean chapterNumber)
chapterHeading
in class FoSink
headerText
- The text to write in the header, if null, the current document title is written.chapterNumber
- True if the chapter number should be written in front of the text.public void toc()
protected void pdfBookmarks()
pdfBookmarks
in class FoSink
public void coverPage()
Copyright © 2005–2020 The Apache Software Foundation. All rights reserved.