org.eclipse.mylyn.wikitext.core.parser.builder
Class XslfoDocumentBuilder

java.lang.Object
  extended by org.eclipse.mylyn.wikitext.core.parser.DocumentBuilder
      extended by org.eclipse.mylyn.wikitext.core.parser.builder.AbstractXmlDocumentBuilder
          extended by org.eclipse.mylyn.wikitext.core.parser.builder.XslfoDocumentBuilder

public class XslfoDocumentBuilder
extends AbstractXmlDocumentBuilder

A document builder that produces XSL-FO output. XSL-FO is suitable for conversion to other formats such as PDF.

Since:
1.1
Author:
David Green
See Also:
Configuration for configurable settings, XSL-FO 1.0 specification, XSL-FO (WikiPedia), XSL-FO Tutorial

Nested Class Summary
static class XslfoDocumentBuilder.Configuration
          A class that encapsulates all configurable settings of the XslfoDocumentBuilder.
 
Nested classes/interfaces inherited from class org.eclipse.mylyn.wikitext.core.parser.DocumentBuilder
DocumentBuilder.BlockType, DocumentBuilder.SpanType
 
Field Summary
 
Fields inherited from class org.eclipse.mylyn.wikitext.core.parser.builder.AbstractXmlDocumentBuilder
base, baseInHead, writer
 
Fields inherited from class org.eclipse.mylyn.wikitext.core.parser.DocumentBuilder
locator
 
Constructor Summary
XslfoDocumentBuilder(Writer out)
           
XslfoDocumentBuilder(XmlStreamWriter writer)
           
 
Method Summary
 void acronym(String text, String definition)
          Emit an acronym
 void beginBlock(DocumentBuilder.BlockType type, Attributes attributes)
          Begin a block of the specified type.
 void beginDocument()
          Begin a document.
 void beginHeading(int level, Attributes attributes)
          Begin a heading of the specified level (usually 1-6).
 void beginSpan(DocumentBuilder.SpanType type, Attributes attributes)
          Begin a span of the specified type.
 void characters(String text)
          Emit the given text as characters where special characters are encoded according to the output format rules.
 void charactersUnescaped(String literal)
          Create unescaped characters, usually with some embedded HTML markup.
 void endBlock()
          End a block that was started.
 void endDocument()
          End a document.
 void endHeading()
          End a span that was started.
 void endSpan()
          End a span that was started.
 void entityReference(String entity)
          An XML entity reference.
 XslfoDocumentBuilder.Configuration getConfiguration()
          The current configuration of this builder.
 void image(Attributes attributes, String url)
          Build the image with the given attributes
 void imageLink(Attributes linkAttributes, Attributes imageAttributes, String href, String imageUrl)
          Create a hyperlink whose visual representation is an image.
 void lineBreak()
          Create a line break (eg: br in html).
 void link(Attributes attributes, String hrefOrHashName, String text)
          Create a hyperlink to the given url.
 void setConfiguration(XslfoDocumentBuilder.Configuration configuration)
          The current configuration of this builder.
 
Methods inherited from class org.eclipse.mylyn.wikitext.core.parser.builder.AbstractXmlDocumentBuilder
createXmlStreamWriter, getBase, getElementNestLevel, isBaseInHead, isExternalLink, makeUrlAbsolute, setBase, setBaseInHead
 
Methods inherited from class org.eclipse.mylyn.wikitext.core.parser.DocumentBuilder
annotation, beginLink, endLink, getLocator, imageLink, imageLink, link, setLocator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XslfoDocumentBuilder

public XslfoDocumentBuilder(Writer out)

XslfoDocumentBuilder

public XslfoDocumentBuilder(XmlStreamWriter writer)
Method Detail

acronym

public void acronym(String text,
                    String definition)
Description copied from class: DocumentBuilder
Emit an acronym

Specified by:
acronym in class DocumentBuilder
Parameters:
text - the acronym to emit
definition - the definition of the acronym, which is typically displayed on mouse hover

beginBlock

public void beginBlock(DocumentBuilder.BlockType type,
                       Attributes attributes)
Description copied from class: DocumentBuilder
Begin a block of the specified type. Builder implementations may do a best-effort application of the provided attributes. Note that the provided attributes *may* be a subclass of the Attributes class, in which case the builder may attempt to apply the attributes specified. Builders may choose to ignore attributes, and should fail silently if the given attributes are not as expected. Each call to this method must be matched by a corresponding call to DocumentBuilder.endBlock().

Specified by:
beginBlock in class DocumentBuilder
attributes - the attributes to apply to the block. Callers may choose to specify a more specialized set of attributes by providing a subclass instance.
See Also:
DocumentBuilder.endBlock()

endBlock

public void endBlock()
Description copied from class: DocumentBuilder
End a block that was started.

Specified by:
endBlock in class DocumentBuilder

beginDocument

public void beginDocument()
Description copied from class: DocumentBuilder
Begin a document. Calling this method is optional for some builders, however if called then it must be matched by a corresponding call to DocumentBuilder.endDocument().

Specified by:
beginDocument in class DocumentBuilder
See Also:
DocumentBuilder.endDocument()

endDocument

public void endDocument()
Description copied from class: DocumentBuilder
End a document.

Specified by:
endDocument in class DocumentBuilder
See Also:
DocumentBuilder.endDocument()

beginHeading

public void beginHeading(int level,
                         Attributes attributes)
Description copied from class: DocumentBuilder
Begin a heading of the specified level (usually 1-6). Builder implementations may do a best-effort application of the provided attributes. Each call to this method must be matched by a corresponding call to DocumentBuilder.endHeading().

Specified by:
beginHeading in class DocumentBuilder
Parameters:
level - the level of the heading, usually 1-6
attributes - the attributes to apply to the heading
See Also:
DocumentBuilder.endHeading()

endHeading

public void endHeading()
Description copied from class: DocumentBuilder
End a span that was started.

Specified by:
endHeading in class DocumentBuilder
See Also:
DocumentBuilder.beginHeading(int, Attributes)

beginSpan

public void beginSpan(DocumentBuilder.SpanType type,
                      Attributes attributes)
Description copied from class: DocumentBuilder
Begin a span of the specified type. Builder implementations may do a best-effort application of the provided attributes. Each call to this method must be matched by a corresponding call to DocumentBuilder.endSpan().

Specified by:
beginSpan in class DocumentBuilder
attributes - the attributes to apply to the span
See Also:
DocumentBuilder.endSpan()

endSpan

public void endSpan()
Description copied from class: DocumentBuilder
End a span that was started.

Specified by:
endSpan in class DocumentBuilder
See Also:
#beginSpan(org.eclipse.mylyn.wikitext.parser.DocumentBuilder.SpanType, Attributes)

characters

public void characters(String text)
Description copied from class: DocumentBuilder
Emit the given text as characters where special characters are encoded according to the output format rules.

Overrides:
characters in class AbstractXmlDocumentBuilder
Parameters:
text - the text to emit.

charactersUnescaped

public void charactersUnescaped(String literal)
Description copied from class: DocumentBuilder
Create unescaped characters, usually with some embedded HTML markup. Note that using this method causes the output to be HTML-centric

Specified by:
charactersUnescaped in class DocumentBuilder
Parameters:
literal - the literal characters to emit

entityReference

public void entityReference(String entity)
Description copied from class: DocumentBuilder
An XML entity reference.

Specified by:
entityReference in class DocumentBuilder
Parameters:
entity - the entity

image

public void image(Attributes attributes,
                  String url)
Description copied from class: DocumentBuilder
Build the image with the given attributes

Specified by:
image in class DocumentBuilder
Parameters:
attributes - the attributes, which may be an ImageAttributes.
url - the URL to the image, possibly relative

imageLink

public void imageLink(Attributes linkAttributes,
                      Attributes imageAttributes,
                      String href,
                      String imageUrl)
Description copied from class: DocumentBuilder
Create a hyperlink whose visual representation is an image. Implementations must apply the attributes to the image tag. For example, if the builder constructs HTML, the builder would emit <a href="..."><img src="..."/></a>. In this case if the attributes define a css class then the resulting HTML should look like this: <a href="..."><img src="..." class="..."/></a>

Specified by:
imageLink in class DocumentBuilder
Parameters:
linkAttributes - the attributes of the link, which may be LinkAttributes
imageAttributes - the attributes of the image , which may be ImageAttributes
href - the url (which may be internal to the page if prefixed with a hash '#')
imageUrl - the url of the image, which may be relative

lineBreak

public void lineBreak()
Description copied from class: DocumentBuilder
Create a line break (eg: br in html). Not all builders need support line breaks.

Specified by:
lineBreak in class DocumentBuilder

link

public void link(Attributes attributes,
                 String hrefOrHashName,
                 String text)
Description copied from class: DocumentBuilder
Create a hyperlink to the given url. If LinkAttributes are used, the attributes must not have the href attribute set.

Specified by:
link in class DocumentBuilder
Parameters:
attributes - the attributes of the link
hrefOrHashName - the url (which may be internal to the page if prefixed with a hash '#')
text - the text of the hyperlink

getConfiguration

public XslfoDocumentBuilder.Configuration getConfiguration()
The current configuration of this builder. The returned value is mutable and changes to it affect this builder's configuration.

See Also:
Configuration class for configurable settings

setConfiguration

public void setConfiguration(XslfoDocumentBuilder.Configuration configuration)
The current configuration of this builder.

See Also:
Configuration class for configurable settings


Copyright © 2011 FuseSource, Corp.. All Rights Reserved.