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

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.DitaBookMapDocumentBuilder
All Implemented Interfaces:
Closeable

public class DitaBookMapDocumentBuilder
extends AbstractXmlDocumentBuilder
implements Closeable

a document builder that can produce OASIS DITA output in the form of a book map and multiple topic output files, one for each level-1 heading. This document builder differs from others in that it implements Closeable and therefore must be closed after use. Also this document builder produces multiple output files.

Since:
1.0
Author:
David Green
See Also:
DocBookDocumentBuilder, MarkupToDitaTask

Nested Class Summary
 
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
DitaBookMapDocumentBuilder(Writer out)
           
DitaBookMapDocumentBuilder(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 close()
          users of this class must call close when done with it.
protected  XmlStreamWriter createXmlStreamWriter(Writer out)
           
 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.
 String getBookTitle()
          the book title as it should appear in the bookmap
 String getDoctype()
          the doctype to be used for the bookmap, or null if the default is to be used
 OutlineItem getOutline()
          the outline if available, otherwise null setOutline(OutlineItem)
 File getTargetFile()
          the target output file of the bookmap.
 int getTopicBreakLevel()
          the heading level at which topics are determined
 String getTopicDoctype()
          the doctype to be used for topics, or null if the default is to be used
 String getTopicFilenameSuffix()
          the filename suffix to use when producing topics.
 String getTopicFolder()
          the relative folder name of the folder in which topic files should be produced, or null if the files should be created within the same folder as the bookmap.
 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.
 boolean isFormattingDependencies()
          Indicate if dependencies should be formatted
 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 setBookTitle(String bookTitle)
          the book title as it should appear in the bookmap
 void setDoctype(String doctype)
          the doctype to be used for the bookmap, or null if the default is to be used
 void setFormattingDependencies(boolean formattingDependencies)
          Indicate if dependencies should be formatted
 void setOutline(OutlineItem outline)
          Set the outline of the document being parsed if xref URLs are to be correctly computed.
 void setTargetFile(File targetFile)
          the target output file of the bookmap.
 void setTopicBreakLevel(int topicBreakLevel)
          the heading level at which topics are determined
 void setTopicDoctype(String topicDoctype)
          the doctype to be used for topics, or null if the default is to be used
 void setTopicFilenameSuffix(String topicFilenameSuffix)
          the filename suffix to use when producing topics.
 void setTopicFolder(String topicFolder)
          the relative folder name of the folder in which topic files should be produced, or null if the files should be created within the same folder as the bookmap.
 
Methods inherited from class org.eclipse.mylyn.wikitext.core.parser.builder.AbstractXmlDocumentBuilder
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

DitaBookMapDocumentBuilder

public DitaBookMapDocumentBuilder(Writer out)

DitaBookMapDocumentBuilder

public DitaBookMapDocumentBuilder(XmlStreamWriter writer)
Method Detail

createXmlStreamWriter

protected XmlStreamWriter createXmlStreamWriter(Writer out)
Overrides:
createXmlStreamWriter in class AbstractXmlDocumentBuilder

getBookTitle

public String getBookTitle()
the book title as it should appear in the bookmap


setBookTitle

public void setBookTitle(String bookTitle)
the book title as it should appear in the bookmap


getTopicDoctype

public String getTopicDoctype()
the doctype to be used for topics, or null if the default is to be used

See Also:
getDoctype()

setTopicDoctype

public void setTopicDoctype(String topicDoctype)
the doctype to be used for topics, or null if the default is to be used

See Also:
setDoctype(String)

getDoctype

public String getDoctype()
the doctype to be used for the bookmap, or null if the default is to be used


setDoctype

public void setDoctype(String doctype)
the doctype to be used for the bookmap, or null if the default is to be used


getTopicFilenameSuffix

public String getTopicFilenameSuffix()
the filename suffix to use when producing topics. Should include the leading dot '.', for example '.dita'. The default value is .dita.


setTopicFilenameSuffix

public void setTopicFilenameSuffix(String topicFilenameSuffix)
the filename suffix to use when producing topics. Should include the leading dot '.', for example '.dita'. The default value is .dita.


getTopicFolder

public String getTopicFolder()
the relative folder name of the folder in which topic files should be produced, or null if the files should be created within the same folder as the bookmap.


setTopicFolder

public void setTopicFolder(String topicFolder)
the relative folder name of the folder in which topic files should be produced, or null if the files should be created within the same folder as the bookmap.


getTargetFile

public File getTargetFile()
the target output file of the bookmap. used to compute relative paths to topic files.


setTargetFile

public void setTargetFile(File targetFile)
the target output file of the bookmap. used to compute relative paths to topic files.


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()

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()

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()

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

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()

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)

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)

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

close

public void close()
           throws IOException
users of this class must call close when done with it.

Specified by:
close in interface Closeable
Throws:
IOException

getOutline

public OutlineItem getOutline()
the outline if available, otherwise null setOutline(OutlineItem)


setOutline

public void setOutline(OutlineItem outline)
Set the outline of the document being parsed if xref URLs are to be correctly computed. OASIS DITA has its own URL syntax for DITA-specific links, which need some translation at the time that we build the document.


getTopicBreakLevel

public int getTopicBreakLevel()
the heading level at which topics are determined


setTopicBreakLevel

public void setTopicBreakLevel(int topicBreakLevel)
the heading level at which topics are determined


isFormattingDependencies

public boolean isFormattingDependencies()
Indicate if dependencies should be formatted

Since:
1.2

setFormattingDependencies

public void setFormattingDependencies(boolean formattingDependencies)
Indicate if dependencies should be formatted

Since:
1.2


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