All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.rackspace.cloud.api.docs.EpubMojo Maven / Gradle / Ivy

package com.rackspace.cloud.api.docs;

import com.agilejava.docbkx.maven.Entity;
import com.agilejava.docbkx.maven.Parameter;
import javax.xml.transform.*;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;

import org.apache.batik.transcoder.TranscoderInput;
import org.apache.batik.transcoder.TranscoderOutput;
import org.apache.batik.transcoder.image.JPEGTranscoder;
import org.apache.batik.transcoder.image.PNGTranscoder;
import org.apache.maven.plugin.MojoExecutionException;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.util.List;
import java.util.Properties;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.project.MavenProject;
import org.apache.tools.ant.Target;
import org.xml.sax.XMLReader;
import org.xml.sax.SAXException;

import org.codehaus.plexus.archiver.Archiver;
import org.codehaus.plexus.archiver.manager.ArchiverManager;
import org.codehaus.plexus.archiver.zip.ZipArchiver;
import org.codehaus.plexus.util.FileUtils;

import java.io.IOException;
import java.io.FilenameFilter;
import java.net.URL;


/**
 * A Maven plugin for generating epub output from DocBook documents, using version
 * 1.76.1 of the DocBook XSL stylesheets.
 *
 */
public abstract class EpubMojo
  extends com.agilejava.docbkx.maven.AbstractEpubMojo
{

    private File imageDirectory;
    private File sourceDocBook;

    private File coverImageTemplate;
    private File coverImage;

    private static final String COVER_IMAGE_TEMPLATE_NAME = "cover.st";
    private static final String COVER_IMAGE_NAME = "cover.svg";

    private static final String COVER_XSL = "cloud/cover.xsl";

    /**
     * The plugin dependencies.
     *
     * @parameter expression="${plugin.artifacts}"
     * @required
     * @readonly
     */
    List artifacts;

    /**
     * Ant tasks to be executed before the transformation. Comparable
     * to the tasks property in the maven-antrun-plugin.
     *
     * @parameter
     */
    private Target preProcess;

    /**
     * Ant tasks to be executed after the transformation. Comparable
     * to the tasks property in the maven-antrun-plugin.
     *
     * @parameter
     */
    private Target postProcess;

    /**
     * @parameter expression="${project}"
     * @required
     * @readonly
     */
    private MavenProject project;

    /**
     * A list of entities to be substituted in the source
     * documents. Note that you can only specify entities if
     * your source DocBook document contains a DTD
     * declaration. Otherwise it will not have any effect at all.
     *
     * @parameter
     */
    private List entities;

    /**
     * A list of additional XSL parameters to give to the XSLT engine.
     * These parameters overrides regular docbook ones as they are last
     * configured.
* For regular docbook parameters perfer the use of this plugin facilities * offering nammed paramters.
* These parameters feet well for custom properties you may have defined * within your customization layer. * * @parameter */ private List customizationParameters; /** * List of additional System properties. * * @parameter */ private Properties systemProperties; /** * The pattern of the files to be included. * * @parameter default-value="*.xml" */ private String includes; /** * A boolean, indicating if XInclude should be supported. * * @parameter default="false" */ private boolean xincludeSupported; /** * The location of the stylesheet customization. * * @parameter */ private String epubCustomization; /** * The extension of the target file name. * * @parameter default-value="epub" */ private String targetFileExtension; /** * The target directory to which all output will be written. * * @parameter expression="${basedir}/target/docbkx/epub" */ private File targetDirectory; /** * The directory containing the source DocBook files. * * @parameter expression="${basedir}/src/docbkx" */ private File sourceDirectory; /** * The directory containing the resolved DocBook source before given to the transformer. * * @parameter */ private File generatedSourceDirectory; private boolean useStandardOutput = false; /** * If zero (the default), the XSL processor emits a message naming each separate chunk filename as it is being output. * (Original XSL attribuut: chunk.quietly.) * * @parameter */ protected String chunkQuietly; /** * The value of this parameter specifies profiles which should be included in the output. * (Original XSL attribuut: profile.condition.) * * @parameter */ protected String profileCondition; /** * In DocBook documents that conform to a schema older than V4. * (Original XSL attribuut: use.role.as.xrefstyle.) * * @parameter */ protected String useRoleAsXrefstyle; /** * The value of this parameter specifies profiles which should be included in the output. * (Original XSL attribuut: profile.role.) * * @parameter */ protected String profileRole; /** * Sets the filename extension to use on navigational graphics used in the headers and footers of chunked HTML. * (Original XSL attribuut: navig.graphics.extension.) * * @parameter */ protected String navigGraphicsExtension; /** * Specifies the border color of table frames. * (Original XSL attribuut: table.frame.border.color.) * * @parameter */ protected String tableFrameBorderColor; /** * If true, ToC and LoT (List of Examples, List of Figures, etc. * (Original XSL attribuut: chunk.tocs.and.lots.) * * @parameter */ protected String chunkTocsAndLots; /** * For compatibility with DSSSL based DBTeXMath from Allin Cottrell you should set this parameter to 0. * (Original XSL attribuut: tex.math.delims.) * * @parameter */ protected String texMathDelims; /** * * (Original XSL attribuut: graphic.default.extension.) * * @parameter */ protected String graphicDefaultExtension; /** * * (Original XSL attribuut: part.autolabel.) * * @parameter */ protected String partAutolabel; /** * * (Original XSL attribuut: show.revisionflag.) * * @parameter */ protected String showRevisionflag; /** * * (Original XSL attribuut: variablelist.as.table.) * * @parameter */ protected String variablelistAsTable; /** * Set to true to generate a binary TOC. * (Original XSL attribuut: htmlhelp.hhc.binary.) * * @parameter */ protected String htmlhelpHhcBinary; /** * * (Original XSL attribuut: graphicsize.extension.) * * @parameter */ protected String graphicsizeExtension; /** * * (Original XSL attribuut: epub.cover.linear.) * * @parameter */ protected String epubCoverLinear; /** * The fixed value used for calculations based upon the size of a character. * (Original XSL attribuut: points.per.em.) * * @parameter */ protected String pointsPerEm; /** * This parameter specifies initial position of help window. * (Original XSL attribuut: htmlhelp.window.geometry.) * * @parameter */ protected String htmlhelpWindowGeometry; /** * * (Original XSL attribuut: olink.sysid.) * * @parameter */ protected String olinkSysid; /** * * (Original XSL attribuut: inherit.keywords.) * * @parameter */ protected String inheritKeywords; /** * The value of this parameter specifies profiles which should be included in the output. * (Original XSL attribuut: profile.revision.) * * @parameter */ protected String profileRevision; /** * * (Original XSL attribuut: ebnf.assignment.) * * @parameter */ protected String ebnfAssignment; /** * * (Original XSL attribuut: qanda.defaultlabel.) * * @parameter */ protected String qandaDefaultlabel; /** * Set to true to include the Prev button on the toolbar. * (Original XSL attribuut: htmlhelp.button.prev.) * * @parameter */ protected String htmlhelpButtonPrev; /** * * (Original XSL attribuut: chunk.first.sections.) * * @parameter */ protected String chunkFirstSections; /** * Graphic widths expressed as a percentage are problematic. * (Original XSL attribuut: nominal.image.width.) * * @parameter */ protected String nominalImageWidth; /** * * (Original XSL attribuut: footnote.number.format.) * * @parameter */ protected String footnoteNumberFormat; /** * * (Original XSL attribuut: reference.autolabel.) * * @parameter */ protected String referenceAutolabel; /** * This language is used when there is no language attribute on programlisting. * (Original XSL attribuut: highlight.default.language.) * * @parameter */ protected String highlightDefaultLanguage; /** * A mediaobject may contain several objects such as imageobjects. * (Original XSL attribuut: preferred.mediaobject.role.) * * @parameter */ protected String preferredMediaobjectRole; /** * * (Original XSL attribuut: manual.toc.) * * @parameter */ protected String manualToc; /** * This parameter has a structured value. * (Original XSL attribuut: generate.toc.) * * @parameter */ protected String generateToc; /** * This parameter lets you select which method to use for sorting and grouping index entries in an index. * (Original XSL attribuut: index.method.) * * @parameter */ protected String indexMethod; /** * * (Original XSL attribuut: insert.olink.pdf.frag.) * * @parameter */ protected String insertOlinkPdfFrag; /** * Selects the border on EBNF tables. * (Original XSL attribuut: ebnf.table.border.) * * @parameter */ protected String ebnfTableBorder; /** * * (Original XSL attribuut: index.on.type.) * * @parameter */ protected String indexOnType; /** * String used to separate labels and titles in a table of contents. * (Original XSL attribuut: autotoc.label.separator.) * * @parameter */ protected String autotocLabelSeparator; /** * In order to convert CALS column widths into HTML column widths, it is sometimes necessary to have an absolute table width to use for conversion of mixed absolute and relative widths. * (Original XSL attribuut: nominal.table.width.) * * @parameter */ protected String nominalTableWidth; /** * When olinks between documents are resolved, the generated text may not make it clear that the reference is to another document. * (Original XSL attribuut: olink.doctitle.) * * @parameter */ protected String olinkDoctitle; /** * * (Original XSL attribuut: htmlhelp.use.hhk.) * * @parameter */ protected String htmlhelpUseHhk; /** * Title of Jump2 button. * (Original XSL attribuut: htmlhelp.button.jump2.title.) * * @parameter */ protected String htmlhelpButtonJump2Title; /** * * (Original XSL attribuut: chunk.fast.) * * @parameter */ protected String chunkFast; /** * * (Original XSL attribuut: insert.xref.page.number.) * * @parameter */ protected String insertXrefPageNumber; /** * * (Original XSL attribuut: biblioentry.alt.primary.seps.) * * @parameter */ protected String biblioentryAltPrimarySeps; /** * Normally first chunk of document is displayed when you open HTML Help file. * (Original XSL attribuut: htmlhelp.default.topic.) * * @parameter */ protected String htmlhelpDefaultTopic; /** * * (Original XSL attribuut: html.stylesheet.) * * @parameter */ protected String htmlStylesheet; /** * * (Original XSL attribuut: emphasis.propagates.style.) * * @parameter */ protected String emphasisPropagatesStyle; /** * Set to true to have an application menu bar in your HTML Help window. * (Original XSL attribuut: htmlhelp.show.menu.) * * @parameter */ protected String htmlhelpShowMenu; /** * * (Original XSL attribuut: onechunk.) * * @parameter */ protected String onechunk; /** * * (Original XSL attribuut: chunk.append.) * * @parameter */ protected String chunkAppend; /** * * (Original XSL attribuut: html.append.) * * @parameter */ protected String htmlAppend; /** * * (Original XSL attribuut: variablelist.term.break.after.) * * @parameter */ protected String variablelistTermBreakAfter; /** * If you want advanced search features in your help, turn this parameter to 1. * (Original XSL attribuut: htmlhelp.show.advanced.search.) * * @parameter */ protected String htmlhelpShowAdvancedSearch; /** * If non-zero, this value will be used as the default cellspacing value in HTML tables. * (Original XSL attribuut: html.cellspacing.) * * @parameter */ protected String htmlCellspacing; /** * If true, comments will be displayed, otherwise they are suppressed. * (Original XSL attribuut: show.comments.) * * @parameter */ protected String showComments; /** * The value of this parameter specifies profiles which should be included in the output. * (Original XSL attribuut: profile.os.) * * @parameter */ protected String profileOs; /** * Specifies the border style of table frames. * (Original XSL attribuut: table.frame.border.style.) * * @parameter */ protected String tableFrameBorderStyle; /** * * (Original XSL attribuut: html.longdesc.link.) * * @parameter */ protected String htmlLongdescLink; /** * * (Original XSL attribuut: callout.graphics.number.limit.) * * @parameter */ protected String calloutGraphicsNumberLimit; /** * If true, header and footer navigation will be suppressed. * (Original XSL attribuut: suppress.navigation.) * * @parameter */ protected String suppressNavigation; /** * * (Original XSL attribuut: biblioentry.item.separator.) * * @parameter */ protected String biblioentryItemSeparator; /** * This parameter allows you to control the punctuation of certain types of generated cross reference text. * (Original XSL attribuut: xref.title-page.separator.) * * @parameter */ protected String xrefTitlePageSeparator; /** * The table columns extension function adjusts the widths of table columns in the HTML result to more accurately reflect the specifications in the CALS table. * (Original XSL attribuut: tablecolumns.extension.) * * @parameter */ protected String tablecolumnsExtension; /** * When cross reference data is collected for resolving olinks, it may be necessary to prepend a base URI to each target's href. * (Original XSL attribuut: olink.base.uri.) * * @parameter */ protected String olinkBaseUri; /** * * (Original XSL attribuut: make.valid.html.) * * @parameter */ protected String makeValidHtml; /** * This image is used inline to identify the location of annotations. * (Original XSL attribuut: annotation.graphic.open.) * * @parameter */ protected String annotationGraphicOpen; /** * Value of this parameter specifies profiles which should be included in the output. * (Original XSL attribuut: profile.audience.) * * @parameter */ protected String profileAudience; /** * * (Original XSL attribuut: email.delimiters.enabled.) * * @parameter */ protected String emailDelimitersEnabled; /** * The stylesheets are capable of generating both default and custom CSS stylesheet files. * (Original XSL attribuut: generate.css.header.) * * @parameter */ protected String generateCssHeader; /** * Content of this parameter will be used as a title for generated HTML Help. * (Original XSL attribuut: htmlhelp.title.) * * @parameter */ protected String htmlhelpTitle; /** * If you want type math directly in TeX notation in equations, this parameter specifies notation used. * (Original XSL attribuut: tex.math.in.alt.) * * @parameter */ protected String texMathInAlt; /** * * (Original XSL attribuut: htmlhelp.force.map.and.alias.) * * @parameter */ protected String htmlhelpForceMapAndAlias; /** * * (Original XSL attribuut: section.autolabel.max.depth.) * * @parameter */ protected String sectionAutolabelMaxDepth; /** * * (Original XSL attribuut: id.warnings.) * * @parameter */ protected String idWarnings; /** * * (Original XSL attribuut: ade.extensions.) * * @parameter */ protected String adeExtensions; /** * * (Original XSL attribuut: formal.object.break.after.) * * @parameter */ protected String formalObjectBreakAfter; /** * The value of this parameter specifies profiles which should be included in the output. * (Original XSL attribuut: profile.arch.) * * @parameter */ protected String profileArch; /** * Set the name of map file. * (Original XSL attribuut: htmlhelp.map.file.) * * @parameter */ protected String htmlhelpMapFile; /** * This parameter specifies the list of elements that should be escaped as CDATA sections by the chunking stylesheet. * (Original XSL attribuut: chunker.output.cdata-section-elements.) * * @parameter */ protected String chunkerOutputCdataSectionElements; /** * The value of this parameter specifies profiles which should be included in the output. * (Original XSL attribuut: profile.conformance.) * * @parameter */ protected String profileConformance; /** * * (Original XSL attribuut: html.head.legalnotice.link.multiple.) * * @parameter */ protected String htmlHeadLegalnoticeLinkMultiple; /** * * (Original XSL attribuut: refclass.suppress.) * * @parameter */ protected String refclassSuppress; /** * If non-zero, this value will be used as the default cellpadding value in HTML tables. * (Original XSL attribuut: html.cellpadding.) * * @parameter */ protected String htmlCellpadding; /** * Eclipse Help plugin id. * (Original XSL attribuut: eclipse.plugin.id.) * * @parameter */ protected String eclipsePluginId; /** * This parameter specifies the public identifier that should be used by the chunking stylesheet in the document type declaration of chunked pages. * (Original XSL attribuut: chunker.output.doctype-public.) * * @parameter */ protected String chunkerOutputDoctypePublic; /** * * (Original XSL attribuut: para.propagates.style.) * * @parameter */ protected String paraPropagatesStyle; /** * * (Original XSL attribuut: make.clean.html.) * * @parameter */ protected String makeCleanHtml; /** * When an automatically generated Table of Contents (or List of Titles) is produced, this HTML element will be used to make the list. * (Original XSL attribuut: toc.list.type.) * * @parameter */ protected String tocListType; /** * If true, the navigational headers and footers in chunked HTML are presented in an alternate style that uses graphical icons for Next, Previous, Up, and Home. * (Original XSL attribuut: navig.graphics.) * * @parameter */ protected String navigGraphics; /** * * (Original XSL attribuut: generate.revhistory.link.) * * @parameter */ protected String generateRevhistoryLink; /** * The stylesheets are capable of generating a default CSS stylesheet file. * (Original XSL attribuut: docbook.css.link.) * * @parameter */ protected String docbookCssLink; /** * * (Original XSL attribuut: l10n.xml.) * * @parameter */ protected String l10nXml; /** * * (Original XSL attribuut: table.footnote.number.symbols.) * * @parameter */ protected String tableFootnoteNumberSymbols; /** * * (Original XSL attribuut: ulink.target.) * * @parameter */ protected String ulinkTarget; /** * This parameter specifies the encoding to be used in files generated by the chunking stylesheet. * (Original XSL attribuut: chunker.output.encoding.) * * @parameter */ protected String chunkerOutputEncoding; /** * If true (true), unlabeled sections will be enumerated. * (Original XSL attribuut: section.autolabel.) * * @parameter */ protected String sectionAutolabel; /** * * (Original XSL attribuut: generate.meta.abstract.) * * @parameter */ protected String generateMetaAbstract; /** * If you want to include some additional parameters into project file, store appropriate part of project file into this parameter. * (Original XSL attribuut: htmlhelp.hhp.tail.) * * @parameter */ protected String htmlhelpHhpTail; /** * * (Original XSL attribuut: chunk.toc.) * * @parameter */ protected String chunkToc; /** * Set to true to include a Favorites tab in the navigation pane of the help window. * (Original XSL attribuut: htmlhelp.show.favorities.) * * @parameter */ protected String htmlhelpShowFavorities; /** * * (Original XSL attribuut: glossterm.auto.link.) * * @parameter */ protected String glosstermAutoLink; /** * * (Original XSL attribuut: get.) * * @parameter */ protected String get; /** * * (Original XSL attribuut: simplesect.in.toc.) * * @parameter */ protected String simplesectInToc; /** * If true, header navigation will be suppressed. * (Original XSL attribuut: suppress.header.navigation.) * * @parameter */ protected String suppressHeaderNavigation; /** * Set to true to include the Jump2 button on the toolbar. * (Original XSL attribuut: htmlhelp.button.jump2.) * * @parameter */ protected String htmlhelpButtonJump2; /** * * (Original XSL attribuut: htmlhelp.button.jump1.) * * @parameter */ protected String htmlhelpButtonJump1; /** * This parameter specifies the value of the omit-xml-declaration specification for generated pages. * (Original XSL attribuut: chunker.output.omit-xml-declaration.) * * @parameter */ protected String chunkerOutputOmitXmlDeclaration; /** * Set to true to include the Forward button on the toolbar. * (Original XSL attribuut: htmlhelp.button.forward.) * * @parameter */ protected String htmlhelpButtonForward; /** * This parameter specifies the punctuation that should be added after an honorific in a personal name. * (Original XSL attribuut: punct.honorific.) * * @parameter */ protected String punctHonorific; /** * If true, the scaling attributes on graphics and media objects are ignored. * (Original XSL attribuut: ignore.image.scaling.) * * @parameter */ protected String ignoreImageScaling; /** * * (Original XSL attribuut: appendix.autolabel.) * * @parameter */ protected String appendixAutolabel; /** * * (Original XSL attribuut: entry.propagates.style.) * * @parameter */ protected String entryPropagatesStyle; /** * If true, footer navigation will be suppressed. * (Original XSL attribuut: suppress.footer.navigation.) * * @parameter */ protected String suppressFooterNavigation; /** * This parameter permits you to override the text to insert between the end of an index term and its list of page references. * (Original XSL attribuut: index.term.separator.) * * @parameter */ protected String indexTermSeparator; /** * * (Original XSL attribuut: callout.list.table.) * * @parameter */ protected String calloutListTable; /** * Set to true if you want to play with various HTML Help parameters and you don't need to regenerate all HTML files. * (Original XSL attribuut: htmlhelp.only.) * * @parameter */ protected String htmlhelpOnly; /** * * (Original XSL attribuut: html.longdesc.) * * @parameter */ protected String htmlLongdesc; /** * * (Original XSL attribuut: editedby.enabled.) * * @parameter */ protected String editedbyEnabled; /** * This parameter specifies the media type that should be used by the chunking stylesheet. * (Original XSL attribuut: chunker.output.media-type.) * * @parameter */ protected String chunkerOutputMediaType; /** * * (Original XSL attribuut: segmentedlist.as.table.) * * @parameter */ protected String segmentedlistAsTable; /** * Set the name of the TOC file. * (Original XSL attribuut: htmlhelp.hhc.) * * @parameter */ protected String htmlhelpHhc; /** * Change this parameter if you want different name of project file than htmlhelp. * (Original XSL attribuut: htmlhelp.hhp.) * * @parameter */ protected String htmlhelpHhp; /** * This parameter specifies the value of the indent specification for generated pages. * (Original XSL attribuut: chunker.output.indent.) * * @parameter */ protected String chunkerOutputIndent; /** * set the name of the index file. * (Original XSL attribuut: htmlhelp.hhk.) * * @parameter */ protected String htmlhelpHhk; /** * * (Original XSL attribuut: custom.css.source.) * * @parameter */ protected String customCssSource; /** * HTML Help Compiler is not UTF-8 aware, so you should always use an appropriate single-byte encoding here. * (Original XSL attribuut: htmlhelp.encoding.) * * @parameter */ protected String htmlhelpEncoding; /** * This image is used on popup annotations as the “x” that the user can click to dismiss the popup. * (Original XSL attribuut: annotation.graphic.close.) * * @parameter */ protected String annotationGraphicClose; /** * This value will be used when there is no frame attribute on the table. * (Original XSL attribuut: default.table.frame.) * * @parameter */ protected String defaultTableFrame; /** * Glossaries maintained independently across a set of documents are likely to become inconsistent unless considerable effort is expended to keep them in sync. * (Original XSL attribuut: glossary.collection.) * * @parameter */ protected String glossaryCollection; /** * * (Original XSL attribuut: olink.outline.ext.) * * @parameter */ protected String olinkOutlineExt; /** * * (Original XSL attribuut: menuchoice.menu.separator.) * * @parameter */ protected String menuchoiceMenuSeparator; /** * The value of this parameter specifies profiles which should be included in the output. * (Original XSL attribuut: profile.security.) * * @parameter */ protected String profileSecurity; /** * * (Original XSL attribuut: chapter.autolabel.) * * @parameter */ protected String chapterAutolabel; /** * * (Original XSL attribuut: biblioentry.primary.count.) * * @parameter */ protected String biblioentryPrimaryCount; /** * When lengths are converted to pixels, this value is used to determine the size of a pixel. * (Original XSL attribuut: pixels.per.inch.) * * @parameter */ protected String pixelsPerInch; /** * * (Original XSL attribuut: contrib.inline.enabled.) * * @parameter */ protected String contribInlineEnabled; /** * * (Original XSL attribuut: olink.resolver.) * * @parameter */ protected String olinkResolver; /** * * (Original XSL attribuut: htmlhelp.button.back.) * * @parameter */ protected String htmlhelpButtonBack; /** * Specifies where formal object titles should occur. * (Original XSL attribuut: formal.title.placement.) * * @parameter */ protected String formalTitlePlacement; /** * * (Original XSL attribuut: chunker.output.quiet.) * * @parameter */ protected String chunkerOutputQuiet; /** * Maintaining bibliography entries across a set of documents is tedious, time consuming, and error prone. * (Original XSL attribuut: bibliography.collection.) * * @parameter */ protected String bibliographyCollection; /** * This parameter permits you to override the text to insert between the two numbers of a page range in an index. * (Original XSL attribuut: index.range.separator.) * * @parameter */ protected String indexRangeSeparator; /** * If you want Locate button shown on toolbar, turn this parameter to 1. * (Original XSL attribuut: htmlhelp.button.locate.) * * @parameter */ protected String htmlhelpButtonLocate; /** * * (Original XSL attribuut: shade.verbatim.) * * @parameter */ protected String shadeVerbatim; /** * If line numbering is enabled, line numbers will appear right justified in a field "width" characters wide. * (Original XSL attribuut: linenumbering.width.) * * @parameter */ protected String linenumberingWidth; /** * * (Original XSL attribuut: l10n.gentext.default.language.) * * @parameter */ protected String l10nGentextDefaultLanguage; /** * * (Original XSL attribuut: generate.legalnotice.link.) * * @parameter */ protected String generateLegalnoticeLink; /** * * (Original XSL attribuut: refentry.generate.name.) * * @parameter */ protected String refentryGenerateName; /** * * (Original XSL attribuut: admon.style.) * * @parameter */ protected String admonStyle; /** * This parameter allows you to control the punctuation of certain types of generated cross reference text. * (Original XSL attribuut: xref.label-title.separator.) * * @parameter */ protected String xrefLabelTitleSeparator; /** * * (Original XSL attribuut: html.stylesheet.type.) * * @parameter */ protected String htmlStylesheetType; /** * * (Original XSL attribuut: variablelist.term.separator.) * * @parameter */ protected String variablelistTermSeparator; /** * * (Original XSL attribuut: qanda.inherit.numeration.) * * @parameter */ protected String qandaInheritNumeration; /** * * (Original XSL attribuut: callout.defaultcolumn.) * * @parameter */ protected String calloutDefaultcolumn; /** * The value of this parameter specifies profiles which should be included in the output. * (Original XSL attribuut: profile.revisionflag.) * * @parameter */ protected String profileRevisionflag; /** * * (Original XSL attribuut: procedure.step.numeration.formats.) * * @parameter */ protected String procedureStepNumerationFormats; /** * * (Original XSL attribuut: rootid.) * * @parameter */ protected String rootid; /** * This parameter sets the depth of section chunking. * (Original XSL attribuut: chunk.section.depth.) * * @parameter */ protected String chunkSectionDepth; /** * * (Original XSL attribuut: refentry.xref.manvolnum.) * * @parameter */ protected String refentryXrefManvolnum; /** * * (Original XSL attribuut: epub.html.toc.id.) * * @parameter */ protected String epubHtmlTocId; /** * Name of default window. * (Original XSL attribuut: htmlhelp.hhp.window.) * * @parameter */ protected String htmlhelpHhpWindow; /** * In order to resolve olinks efficiently, the stylesheets can generate an external data file containing information about all potential cross reference endpoints in a document. * (Original XSL attribuut: collect.xref.targets.) * * @parameter */ protected String collectXrefTargets; /** * If true, year ranges that span a single year will be printed in range notation (1998-1999) instead of discrete notation (1998, 1999). * (Original XSL attribuut: make.single.year.ranges.) * * @parameter */ protected String makeSingleYearRanges; /** * When true this parameter enables enhanced decompilation of CHM. * (Original XSL attribuut: htmlhelp.enhanced.decompilation.) * * @parameter */ protected String htmlhelpEnhancedDecompilation; /** * URL address of page accessible by Jump2 button. * (Original XSL attribuut: htmlhelp.button.jump2.url.) * * @parameter */ protected String htmlhelpButtonJump2Url; /** * Set to true for folder-like icons or zero for book-like icons in the ToC. * (Original XSL attribuut: htmlhelp.hhc.folders.instead.books.) * * @parameter */ protected String htmlhelpHhcFoldersInsteadBooks; /** * If true, the HTML stylesheet will generate ID attributes on containers. * (Original XSL attribuut: generate.id.attributes.) * * @parameter */ protected String generateIdAttributes; /** * * (Original XSL attribuut: epub.cover.id.) * * @parameter */ protected String epubCoverId; /** * * (Original XSL attribuut: stylesheet.result.type.) * * @parameter */ protected String stylesheetResultType; /** * This parameter permits you to override the text to insert between page references in a formatted index entry. * (Original XSL attribuut: index.number.separator.) * * @parameter */ protected String indexNumberSeparator; /** * * (Original XSL attribuut: callout.unicode.start.character.) * * @parameter */ protected String calloutUnicodeStartCharacter; /** * Sets the background color for EBNF tables (a pale brown). * (Original XSL attribuut: ebnf.table.bgcolor.) * * @parameter */ protected String ebnfTableBgcolor; /** * * (Original XSL attribuut: epub.container.filename.) * * @parameter */ protected String epubContainerFilename; /** * * (Original XSL attribuut: l10n.lang.value.rfc.compliant.) * * @parameter */ protected String l10nLangValueRfcCompliant; /** * This parameter allows you to control the punctuation of certain types of generated cross reference text. * (Original XSL attribuut: xref.label-page.separator.) * * @parameter */ protected String xrefLabelPageSeparator; /** * * (Original XSL attribuut: process.empty.source.toc.) * * @parameter */ protected String processEmptySourceToc; /** * Set to true to remember help window position between starts. * (Original XSL attribuut: htmlhelp.remember.window.position.) * * @parameter */ protected String htmlhelpRememberWindowPosition; /** * If true, the headers and footers of chunked HTML display the titles of the next and previous chunks, along with the words 'Next' and 'Previous' (or the equivalent graphical icons if navig. * (Original XSL attribuut: navig.showtitles.) * * @parameter */ protected String navigShowtitles; /** * This location has precedence over the corresponding Java property. * (Original XSL attribuut: highlight.xslthl.config.) * * @parameter */ protected String highlightXslthlConfig; /** * * (Original XSL attribuut: epub.ncx.filename.) * * @parameter */ protected String epubNcxFilename; /** * * (Original XSL attribuut: highlight.source.) * * @parameter */ protected String highlightSource; /** * If true, a rule will be drawn above the page footers. * (Original XSL attribuut: footer.rule.) * * @parameter */ protected String footerRule; /** * * (Original XSL attribuut: refentry.generate.title.) * * @parameter */ protected String refentryGenerateTitle; /** * Sets the path, probably relative to the directory where the HTML files are created, to the navigational graphics used in the headers and footers of chunked HTML. * (Original XSL attribuut: navig.graphics.path.) * * @parameter */ protected String navigGraphicsPath; /** * Sets the path to the directory holding the callout graphics. * (Original XSL attribuut: callout.graphics.path.) * * @parameter */ protected String calloutGraphicsPath; /** * * (Original XSL attribuut: autotoc.label.in.hyperlink.) * * @parameter */ protected String autotocLabelInHyperlink; /** * Set to true to include the Zoom button on the toolbar. * (Original XSL attribuut: htmlhelp.button.zoom.) * * @parameter */ protected String htmlhelpButtonZoom; /** * This parameter specifies the output method to be used in files generated by the chunking stylesheet. * (Original XSL attribuut: chunker.output.method.) * * @parameter */ protected String chunkerOutputMethod; /** * * (Original XSL attribuut: qanda.in.toc.) * * @parameter */ protected String qandaInToc; /** * If true, then the glossentry elements within a glossary, glossdiv, or glosslist are sorted on the glossterm, using the current lang setting. * (Original XSL attribuut: glossary.sort.) * * @parameter */ protected String glossarySort; /** * Sets the filename extension to use on callout graphics. * (Original XSL attribuut: callout.graphics.extension.) * * @parameter */ protected String calloutGraphicsExtension; /** * * (Original XSL attribuut: footnote.number.symbols.) * * @parameter */ protected String footnoteNumberSymbols; /** * URL address of page accessible by Home button. * (Original XSL attribuut: htmlhelp.button.home.url.) * * @parameter */ protected String htmlhelpButtonHomeUrl; /** * If true, CSS will be used to draw table borders. * (Original XSL attribuut: table.borders.with.css.) * * @parameter */ protected String tableBordersWithCss; /** * * (Original XSL attribuut: html.extra.head.links.) * * @parameter */ protected String htmlExtraHeadLinks; /** * * (Original XSL attribuut: bridgehead.in.toc.) * * @parameter */ protected String bridgeheadInToc; /** * * (Original XSL attribuut: othercredit.like.author.enabled.) * * @parameter */ protected String othercreditLikeAuthorEnabled; /** * If line numbering is enabled, everyNth line will be numbered. * (Original XSL attribuut: linenumbering.everyNth.) * * @parameter */ protected String linenumberingEveryNth; /** * This parameter has effect only when Saxon 6 is used (version 6. * (Original XSL attribuut: saxon.character.representation.) * * @parameter */ protected String saxonCharacterRepresentation; /** * * (Original XSL attribuut: funcsynopsis.style.) * * @parameter */ protected String funcsynopsisStyle; /** * Specify if an index should be generated. * (Original XSL attribuut: generate.index.) * * @parameter */ protected String generateIndex; /** * * (Original XSL attribuut: empty.local.l10n.xml.) * * @parameter */ protected String emptyLocalL10nXml; /** * Set to true to display texts under toolbar buttons, zero to switch off displays. * (Original XSL attribuut: htmlhelp.show.toolbar.text.) * * @parameter */ protected String htmlhelpShowToolbarText; /** * * (Original XSL attribuut: epub.embedded.fonts.) * * @parameter */ protected String epubEmbeddedFonts; /** * If true, the language of the target will be used when generating cross reference text. * (Original XSL attribuut: l10n.gentext.use.xref.language.) * * @parameter */ protected String l10nGentextUseXrefLanguage; /** * This parameter defines a list of lang values to search among to resolve olinks. * (Original XSL attribuut: olink.lang.fallback.sequence.) * * @parameter */ protected String olinkLangFallbackSequence; /** * * (Original XSL attribuut: epub.ncx.toc.id.) * * @parameter */ protected String epubNcxTocId; /** * * (Original XSL attribuut: author.othername.in.middle.) * * @parameter */ protected String authorOthernameInMiddle; /** * If true, a separator will be generated between consecutive reference pages. * (Original XSL attribuut: refentry.separator.) * * @parameter */ protected String refentrySeparator; /** * * (Original XSL attribuut: menuchoice.separator.) * * @parameter */ protected String menuchoiceSeparator; /** * * (Original XSL attribuut: make.year.ranges.) * * @parameter */ protected String makeYearRanges; /** * * (Original XSL attribuut: make.graphic.viewport.) * * @parameter */ protected String makeGraphicViewport; /** * * (Original XSL attribuut: manifest.) * * @parameter */ protected String manifest; /** * If you want Stop button shown on toolbar, turn this parameter to 1. * (Original XSL attribuut: htmlhelp.button.stop.) * * @parameter */ protected String htmlhelpButtonStop; /** * * (Original XSL attribuut: nominal.image.depth.) * * @parameter */ protected String nominalImageDepth; /** * If this parameter is set to any value other than the empty string, its value will be used as the value for the language when generating text. * (Original XSL attribuut: l10n.gentext.language.) * * @parameter */ protected String l10nGentextLanguage; /** * * (Original XSL attribuut: htmlhelp.chm.) * * @parameter */ protected String htmlhelpChm; /** * This parameter specifies the width of the navigation pane (containing TOC and other navigation tabs) in pixels. * (Original XSL attribuut: htmlhelp.hhc.width.) * * @parameter */ protected String htmlhelpHhcWidth; /** * * (Original XSL attribuut: epub.ncx.depth.) * * @parameter */ protected String epubNcxDepth; /** * If true, extensions may be used. * (Original XSL attribuut: use.extensions.) * * @parameter */ protected String useExtensions; /** * Specify which characters are to be counted as punctuation. * (Original XSL attribuut: runinhead.title.end.punct.) * * @parameter */ protected String runinheadTitleEndPunct; /** * If true, then each olink will generate several messages about how it is being resolved during processing. * (Original XSL attribuut: olink.debug.) * * @parameter */ protected String olinkDebug; /** * Title of Jump1 button. * (Original XSL attribuut: htmlhelp.button.jump1.title.) * * @parameter */ protected String htmlhelpButtonJump1Title; /** * * (Original XSL attribuut: local.l10n.xml.) * * @parameter */ protected String localL10nXml; /** * * (Original XSL attribuut: index.links.to.section.) * * @parameter */ protected String indexLinksToSection; /** * * (Original XSL attribuut: xref.with.number.and.title.) * * @parameter */ protected String xrefWithNumberAndTitle; /** * Sets the path to the directory containing the admonition graphics (caution. * (Original XSL attribuut: admon.graphics.path.) * * @parameter */ protected String admonGraphicsPath; /** * If you want to include chapter and section numbers into ToC in the left panel, set this parameter to 1. * (Original XSL attribuut: eclipse.autolabel.) * * @parameter */ protected String eclipseAutolabel; /** * * (Original XSL attribuut: annotation.js.) * * @parameter */ protected String annotationJs; /** * Set this to true to include chapter and section numbers into ToC in the left panel. * (Original XSL attribuut: htmlhelp.autolabel.) * * @parameter */ protected String htmlhelpAutolabel; /** * * (Original XSL attribuut: table.footnote.number.format.) * * @parameter */ protected String tableFootnoteNumberFormat; /** * * (Original XSL attribuut: html.head.legalnotice.link.types.) * * @parameter */ protected String htmlHeadLegalnoticeLinkTypes; /** * * (Original XSL attribuut: default.image.width.) * * @parameter */ protected String defaultImageWidth; /** * Set to true to include the Home button on the toolbar. * (Original XSL attribuut: htmlhelp.button.home.) * * @parameter */ protected String htmlhelpButtonHome; /** * If true, a rule will be drawn below the page headers. * (Original XSL attribuut: header.rule.) * * @parameter */ protected String headerRule; /** * * (Original XSL attribuut: preface.autolabel.) * * @parameter */ protected String prefaceAutolabel; /** * Set to true if you insert images into your documents as external binary entities or if you are using absolute image paths. * (Original XSL attribuut: htmlhelp.enumerate.images.) * * @parameter */ protected String htmlhelpEnumerateImages; /** * When olinks between documents are resolved for HTML output, the stylesheet can compute the relative path between the current document and the target document. * (Original XSL attribuut: current.docid.) * * @parameter */ protected String currentDocid; /** * If true, a web link will be generated, presumably to an online man->HTML gateway. * (Original XSL attribuut: citerefentry.link.) * * @parameter */ protected String citerefentryLink; /** * If you are re-using XML content modules in multiple documents, you may want to redirect some of your olinks. * (Original XSL attribuut: prefer.internal.olink.) * * @parameter */ protected String preferInternalOlink; /** * If true, SVG will be considered an acceptable image format. * (Original XSL attribuut: use.svg.) * * @parameter */ protected String useSvg; /** * * (Original XSL attribuut: profile.attribute.) * * @parameter */ protected String profileAttribute; /** * * (Original XSL attribuut: link.mailto.url.) * * @parameter */ protected String linkMailtoUrl; /** * Content of this parameter is placed at the end of [WINDOWS] section of project file. * (Original XSL attribuut: htmlhelp.hhp.windows.) * * @parameter */ protected String htmlhelpHhpWindows; /** * Specifies the maximal depth of TOC on all levels. * (Original XSL attribuut: toc.max.depth.) * * @parameter */ protected String tocMaxDepth; /** * To resolve olinks between documents, the stylesheets use a master database document that identifies the target datafiles for all the documents within the scope of the olinks. * (Original XSL attribuut: target.database.document.) * * @parameter */ protected String targetDatabaseDocument; /** * Sets the filename extension to use on admonition graphics. * (Original XSL attribuut: admon.graphics.extension.) * * @parameter */ protected String admonGraphicsExtension; /** * * (Original XSL attribuut: html.ext.) * * @parameter */ protected String htmlExt; /** * * (Original XSL attribuut: bibliography.numbered.) * * @parameter */ protected String bibliographyNumbered; /** * * (Original XSL attribuut: epub.cover.image.id.) * * @parameter */ protected String epubCoverImageId; /** * The textinsert extension element inserts the contents of a file into the result tree (as text). * (Original XSL attribuut: textinsert.extension.) * * @parameter */ protected String textinsertExtension; /** * * (Original XSL attribuut: epub.cover.html.) * * @parameter */ protected String epubCoverHtml; /** * * (Original XSL attribuut: generate.manifest.) * * @parameter */ protected String generateManifest; /** * * (Original XSL attribuut: index.prefer.titleabbrev.) * * @parameter */ protected String indexPreferTitleabbrev; /** * If html. * (Original XSL attribuut: html.base.) * * @parameter */ protected String htmlBase; /** * * (Original XSL attribuut: html.cleanup.) * * @parameter */ protected String htmlCleanup; /** * * (Original XSL attribuut: default.table.width.) * * @parameter */ protected String defaultTableWidth; /** * This parameter specifies the system identifier that should be used by the chunking stylesheet in the document type declaration of chunked pages. * (Original XSL attribuut: chunker.output.doctype-system.) * * @parameter */ protected String chunkerOutputDoctypeSystem; /** * Specifies the depth to which recursive sections should appear in the TOC. * (Original XSL attribuut: toc.section.depth.) * * @parameter */ protected String tocSectionDepth; /** * Sets direction of text flow and text alignment based on locale. * (Original XSL attribuut: writing.mode.) * * @parameter */ protected String writingMode; /** * JavaHelp crashes on some characters when written as character references. * (Original XSL attribuut: javahelp.encoding.) * * @parameter */ protected String javahelpEncoding; /** * * (Original XSL attribuut: htmlhelp.display.progress.) * * @parameter */ protected String htmlhelpDisplayProgress; /** * The stylesheets can use either an image of the numbers one to ten, or the single Unicode character which represents the numeral, in white on a black background. * (Original XSL attribuut: callout.unicode.) * * @parameter */ protected String calloutUnicode; /** * * (Original XSL attribuut: textdata.default.encoding.) * * @parameter */ protected String textdataDefaultEncoding; /** * If true, TOCs will be annotated. * (Original XSL attribuut: annotate.toc.) * * @parameter */ protected String annotateToc; /** * If true (true), admonitions are presented in an alternate style that uses a graphic. * (Original XSL attribuut: admon.graphics.) * * @parameter */ protected String admonGraphics; /** * * (Original XSL attribuut: htmlhelp.button.hideshow.) * * @parameter */ protected String htmlhelpButtonHideshow; /** * Set to true to include the Stop button on the toolbar. * (Original XSL attribuut: htmlhelp.button.refresh.) * * @parameter */ protected String htmlhelpButtonRefresh; /** * * (Original XSL attribuut: runinhead.default.title.end.punct.) * * @parameter */ protected String runinheadDefaultTitleEndPunct; /** * * (Original XSL attribuut: glossentry.show.acronym.) * * @parameter */ protected String glossentryShowAcronym; /** * * (Original XSL attribuut: css.decoration.) * * @parameter */ protected String cssDecoration; /** * * (Original XSL attribuut: use.role.for.mediaobject.) * * @parameter */ protected String useRoleForMediaobject; /** * If true, section labels are prefixed with the label of the component that contains them. * (Original XSL attribuut: section.label.includes.component.label.) * * @parameter */ protected String sectionLabelIncludesComponentLabel; /** * If true (true), admonitions are presented with a generated text label such as Note or Warning in the appropriate language. * (Original XSL attribuut: admon.textlabel.) * * @parameter */ protected String admonTextlabel; /** * The value of this parameter specifies profiles which should be included in the output. * (Original XSL attribuut: profile.vendor.) * * @parameter */ protected String profileVendor; /** * The value of this parameter specifies profiles which should be included in the output. * (Original XSL attribuut: profile.status.) * * @parameter */ protected String profileStatus; /** * * (Original XSL attribuut: index.on.role.) * * @parameter */ protected String indexOnRole; /** * The image to be used for draft watermarks. * (Original XSL attribuut: draft.watermark.image.) * * @parameter */ protected String draftWatermarkImage; /** * The value of this parameter specifies profiles which should be included in the output. * (Original XSL attribuut: profile.wordsize.) * * @parameter */ protected String profileWordsize; /** * Name of auxiliary file for TeX equations. * (Original XSL attribuut: tex.math.file.) * * @parameter */ protected String texMathFile; /** * * (Original XSL attribuut: htmlhelp.output.) * * @parameter */ protected String htmlhelpOutput; /** * * (Original XSL attribuut: qanda.nested.in.toc.) * * @parameter */ protected String qandaNestedInToc; /** * If you want Options button shown on toolbar, turn this parameter to 1. * (Original XSL attribuut: htmlhelp.button.options.) * * @parameter */ protected String htmlhelpButtonOptions; /** * Set the color of table cell borders. * (Original XSL attribuut: table.cell.border.color.) * * @parameter */ protected String tableCellBorderColor; /** * * (Original XSL attribuut: olink.fragid.) * * @parameter */ protected String olinkFragid; /** * The separator is inserted between line numbers and lines in the verbatim environment. * (Original XSL attribuut: linenumbering.separator.) * * @parameter */ protected String linenumberingSeparator; /** * * (Original XSL attribuut: docbook.css.source.) * * @parameter */ protected String docbookCssSource; /** * If set to zero, there will be no entry for the root element in the ToC. * (Original XSL attribuut: htmlhelp.hhc.show.root.) * * @parameter */ protected String htmlhelpHhcShowRoot; /** * If you want to include chapter and section numbers into ToC in, set this parameter to 1. * (Original XSL attribuut: epub.autolabel.) * * @parameter */ protected String epubAutolabel; /** * Set to true to include the Next button on the toolbar. * (Original XSL attribuut: htmlhelp.button.next.) * * @parameter */ protected String htmlhelpButtonNext; /** * Selects the direction in which a float should be placed. * (Original XSL attribuut: default.float.class.) * * @parameter */ protected String defaultFloatClass; /** * * (Original XSL attribuut: label.from.part.) * * @parameter */ protected String labelFromPart; /** * * (Original XSL attribuut: abstract.notitle.enabled.) * * @parameter */ protected String abstractNotitleEnabled; /** * * (Original XSL attribuut: bibliography.style.) * * @parameter */ protected String bibliographyStyle; /** * Specifies the thickness of the border on the table's frame. * (Original XSL attribuut: table.frame.border.thickness.) * * @parameter */ protected String tableFrameBorderThickness; /** * If true, then the exsl:node-set() function is available to be used in the stylesheet. * (Original XSL attribuut: exsl.node.set.available.) * * @parameter */ protected String exslNodeSetAvailable; /** * * (Original XSL attribuut: callouts.extension.) * * @parameter */ protected String calloutsExtension; /** * * (Original XSL attribuut: annotation.support.) * * @parameter */ protected String annotationSupport; /** * This parameter specifies the value of the standalone specification for generated pages. * (Original XSL attribuut: chunker.output.standalone.) * * @parameter */ protected String chunkerOutputStandalone; /** * Separator character used for compound profile values. * (Original XSL attribuut: profile.separator.) * * @parameter */ protected String profileSeparator; /** * * (Original XSL attribuut: linenumbering.extension.) * * @parameter */ protected String linenumberingExtension; /** * Specifies the filename of the alias file (used for context-sensitive help). * (Original XSL attribuut: htmlhelp.alias.file.) * * @parameter */ protected String htmlhelpAliasFile; /** * * (Original XSL attribuut: keep.relative.image.uris.) * * @parameter */ protected String keepRelativeImageUris; /** * * (Original XSL attribuut: use.id.as.filename.) * * @parameter */ protected String useIdAsFilename; /** * The value of this parameter specifies profiles which should be included in the output. * (Original XSL attribuut: profile.userlevel.) * * @parameter */ protected String profileUserlevel; /** * Eclipse Help plugin name. * (Original XSL attribuut: eclipse.plugin.name.) * * @parameter */ protected String eclipsePluginName; /** * If non-zero, specifies the thickness of borders on table cells. * (Original XSL attribuut: table.cell.border.thickness.) * * @parameter */ protected String tableCellBorderThickness; /** * Specifies the border style of table cells. * (Original XSL attribuut: table.cell.border.style.) * * @parameter */ protected String tableCellBorderStyle; /** * URL address of page accessible by Jump1 button. * (Original XSL attribuut: htmlhelp.button.jump1.url.) * * @parameter */ protected String htmlhelpButtonJump1Url; /** * * (Original XSL attribuut: graphicsize.use.img.src.path.) * * @parameter */ protected String graphicsizeUseImgSrcPath; /** * If true, each of the ToC and LoTs (List of Examples, List of Figures, etc. * (Original XSL attribuut: chunk.separate.lots.) * * @parameter */ protected String chunkSeparateLots; /** * * (Original XSL attribuut: use.embed.for.svg.) * * @parameter */ protected String useEmbedForSvg; /** * If true, unlabeled qandadivs will be enumerated. * (Original XSL attribuut: qandadiv.autolabel.) * * @parameter */ protected String qandadivAutolabel; /** * * (Original XSL attribuut: ebnf.statement.terminator.) * * @parameter */ protected String ebnfStatementTerminator; /** * In order to resolve olinks efficiently, the stylesheets can generate an external data file containing information about all potential cross reference endpoints in a document. * (Original XSL attribuut: targets.filename.) * * @parameter */ protected String targetsFilename; /** * * (Original XSL attribuut: generate.section.toc.level.) * * @parameter */ protected String generateSectionTocLevel; /** * When true, additional, empty paragraphs are inserted in several contexts (for example, around informal figures), to create a more pleasing visual appearance in many browsers. * (Original XSL attribuut: spacing.paras.) * * @parameter */ protected String spacingParas; /** * * (Original XSL attribuut: function.parens.) * * @parameter */ protected String functionParens; /** * Formal procedures are numbered and always have a title. * (Original XSL attribuut: formal.procedures.) * * @parameter */ protected String formalProcedures; /** * * (Original XSL attribuut: epub.cover.filename.) * * @parameter */ protected String epubCoverFilename; /** * * (Original XSL attribuut: process.source.toc.) * * @parameter */ protected String processSourceToc; /** * * (Original XSL attribuut: annotation.css.) * * @parameter */ protected String annotationCss; /** * Set the section depth in the left pane of HTML Help viewer. * (Original XSL attribuut: htmlhelp.hhc.section.depth.) * * @parameter */ protected String htmlhelpHhcSectionDepth; /** * When cross reference data is collected for use by olinks, the data for each potential target includes one field containing a completely assembled cross reference string, as if it were an xref generated in that document. * (Original XSL attribuut: use.local.olink.style.) * * @parameter */ protected String useLocalOlinkStyle; /** * * (Original XSL attribuut: phrase.propagates.style.) * * @parameter */ protected String phrasePropagatesStyle; /** * If true, callouts are presented with graphics (e. * (Original XSL attribuut: callout.graphics.) * * @parameter */ protected String calloutGraphics; /** * * (Original XSL attribuut: insert.olink.page.number.) * * @parameter */ protected String insertOlinkPageNumber; /** * If true title of document is shown before ToC/LoT in separate chunk. * (Original XSL attribuut: chunk.tocs.and.lots.has.title.) * * @parameter */ protected String chunkTocsAndLotsHasTitle; /** * * (Original XSL attribuut: component.label.includes.part.label.) * * @parameter */ protected String componentLabelIncludesPartLabel; /** * * (Original XSL attribuut: profile.value.) * * @parameter */ protected String profileValue; /** * * (Original XSL attribuut: img.src.path.) * * @parameter */ protected String imgSrcPath; /** * * (Original XSL attribuut: firstterm.only.link.) * * @parameter */ protected String firsttermOnlyLink; /** * Selects draft mode. * (Original XSL attribuut: draft.mode.) * * @parameter */ protected String draftMode; /** * * (Original XSL attribuut: funcsynopsis.decoration.) * * @parameter */ protected String funcsynopsisDecoration; /** * * (Original XSL attribuut: callout.unicode.number.limit.) * * @parameter */ protected String calloutUnicodeNumberLimit; /** * Set to true to include the Print button on the toolbar. * (Original XSL attribuut: htmlhelp.button.print.) * * @parameter */ protected String htmlhelpButtonPrint; /** * Eclipse Help plugin provider name. * (Original XSL attribuut: eclipse.plugin.provider.) * * @parameter */ protected String eclipsePluginProvider; /** * The value of this parameter specifies profiles which should be included in the output. * (Original XSL attribuut: profile.lang.) * * @parameter */ protected String profileLang; /** * * (Original XSL attribuut: olink.pubid.) * * @parameter */ protected String olinkPubid; /** * * (Original XSL attribuut: blurb.on.titlepage.enabled.) * * @parameter */ protected String blurbOnTitlepageEnabled; public File getImageDirectory() { return imageDirectory; } public void setImageDirectory(File imageDirectory) { this.imageDirectory = imageDirectory; } protected void configure(Transformer transformer) { getLog().debug("Configure the transformer."); if (chunkQuietly != null) { transformer.setParameter("chunk.quietly", convertBooleanToXsltParam(chunkQuietly)); } if (profileCondition != null) { transformer.setParameter("profile.condition", convertStringToXsltParam(profileCondition)); } if (useRoleAsXrefstyle != null) { transformer.setParameter("use.role.as.xrefstyle", convertBooleanToXsltParam(useRoleAsXrefstyle)); } if (profileRole != null) { transformer.setParameter("profile.role", convertStringToXsltParam(profileRole)); } if (navigGraphicsExtension != null) { transformer.setParameter("navig.graphics.extension", convertStringToXsltParam(navigGraphicsExtension)); } if (tableFrameBorderColor != null) { transformer.setParameter("table.frame.border.color", convertStringToXsltParam(tableFrameBorderColor)); } if (chunkTocsAndLots != null) { transformer.setParameter("chunk.tocs.and.lots", convertBooleanToXsltParam(chunkTocsAndLots)); } if (texMathDelims != null) { transformer.setParameter("tex.math.delims", convertBooleanToXsltParam(texMathDelims)); } if (graphicDefaultExtension != null) { transformer.setParameter("graphic.default.extension", convertStringToXsltParam(graphicDefaultExtension)); } if (partAutolabel != null) { transformer.setParameter("part.autolabel", convertStringToXsltParam(partAutolabel)); } if (showRevisionflag != null) { transformer.setParameter("show.revisionflag", convertBooleanToXsltParam(showRevisionflag)); } if (variablelistAsTable != null) { transformer.setParameter("variablelist.as.table", convertBooleanToXsltParam(variablelistAsTable)); } if (htmlhelpHhcBinary != null) { transformer.setParameter("htmlhelp.hhc.binary", convertBooleanToXsltParam(htmlhelpHhcBinary)); } if (graphicsizeExtension != null) { transformer.setParameter("graphicsize.extension", convertBooleanToXsltParam(graphicsizeExtension)); } if (epubCoverLinear != null) { transformer.setParameter("epub.cover.linear", convertStringToXsltParam(epubCoverLinear)); } if (pointsPerEm != null) { transformer.setParameter("points.per.em", convertStringToXsltParam(pointsPerEm)); } if (htmlhelpWindowGeometry != null) { transformer.setParameter("htmlhelp.window.geometry", convertStringToXsltParam(htmlhelpWindowGeometry)); } if (olinkSysid != null) { transformer.setParameter("olink.sysid", convertStringToXsltParam(olinkSysid)); } if (inheritKeywords != null) { transformer.setParameter("inherit.keywords", convertBooleanToXsltParam(inheritKeywords)); } if (profileRevision != null) { transformer.setParameter("profile.revision", convertStringToXsltParam(profileRevision)); } if (ebnfAssignment != null) { transformer.setParameter("ebnf.assignment", convertStringToXsltParam(ebnfAssignment)); } if (qandaDefaultlabel != null) { transformer.setParameter("qanda.defaultlabel", convertStringToXsltParam(qandaDefaultlabel)); } if (htmlhelpButtonPrev != null) { transformer.setParameter("htmlhelp.button.prev", convertBooleanToXsltParam(htmlhelpButtonPrev)); } if (chunkFirstSections != null) { transformer.setParameter("chunk.first.sections", convertBooleanToXsltParam(chunkFirstSections)); } if (nominalImageWidth != null) { transformer.setParameter("nominal.image.width", convertStringToXsltParam(nominalImageWidth)); } if (footnoteNumberFormat != null) { transformer.setParameter("footnote.number.format", convertStringToXsltParam(footnoteNumberFormat)); } if (referenceAutolabel != null) { transformer.setParameter("reference.autolabel", convertStringToXsltParam(referenceAutolabel)); } if (highlightDefaultLanguage != null) { transformer.setParameter("highlight.default.language", convertStringToXsltParam(highlightDefaultLanguage)); } if (preferredMediaobjectRole != null) { transformer.setParameter("preferred.mediaobject.role", convertStringToXsltParam(preferredMediaobjectRole)); } if (manualToc != null) { transformer.setParameter("manual.toc", convertStringToXsltParam(manualToc)); } if (generateToc != null) { transformer.setParameter("generate.toc", convertStringToXsltParam(generateToc)); } if (indexMethod != null) { transformer.setParameter("index.method", convertStringToXsltParam(indexMethod)); } if (insertOlinkPdfFrag != null) { transformer.setParameter("insert.olink.pdf.frag", convertBooleanToXsltParam(insertOlinkPdfFrag)); } if (ebnfTableBorder != null) { transformer.setParameter("ebnf.table.border", convertBooleanToXsltParam(ebnfTableBorder)); } if (indexOnType != null) { transformer.setParameter("index.on.type", convertBooleanToXsltParam(indexOnType)); } if (autotocLabelSeparator != null) { transformer.setParameter("autotoc.label.separator", convertStringToXsltParam(autotocLabelSeparator)); } if (nominalTableWidth != null) { transformer.setParameter("nominal.table.width", convertStringToXsltParam(nominalTableWidth)); } if (olinkDoctitle != null) { transformer.setParameter("olink.doctitle", convertStringToXsltParam(olinkDoctitle)); } if (htmlhelpUseHhk != null) { transformer.setParameter("htmlhelp.use.hhk", convertBooleanToXsltParam(htmlhelpUseHhk)); } if (htmlhelpButtonJump2Title != null) { transformer.setParameter("htmlhelp.button.jump2.title", convertStringToXsltParam(htmlhelpButtonJump2Title)); } if (chunkFast != null) { transformer.setParameter("chunk.fast", convertStringToXsltParam(chunkFast)); } if (insertXrefPageNumber != null) { transformer.setParameter("insert.xref.page.number", convertStringToXsltParam(insertXrefPageNumber)); } if (biblioentryAltPrimarySeps != null) { transformer.setParameter("biblioentry.alt.primary.seps", convertStringToXsltParam(biblioentryAltPrimarySeps)); } if (htmlhelpDefaultTopic != null) { transformer.setParameter("htmlhelp.default.topic", convertStringToXsltParam(htmlhelpDefaultTopic)); } if (htmlStylesheet != null) { transformer.setParameter("html.stylesheet", convertStringToXsltParam(htmlStylesheet)); } if (emphasisPropagatesStyle != null) { transformer.setParameter("emphasis.propagates.style", convertBooleanToXsltParam(emphasisPropagatesStyle)); } if (htmlhelpShowMenu != null) { transformer.setParameter("htmlhelp.show.menu", convertBooleanToXsltParam(htmlhelpShowMenu)); } if (onechunk != null) { transformer.setParameter("onechunk", convertStringToXsltParam(onechunk)); } if (chunkAppend != null) { transformer.setParameter("chunk.append", convertStringToXsltParam(chunkAppend)); } if (htmlAppend != null) { transformer.setParameter("html.append", convertStringToXsltParam(htmlAppend)); } if (variablelistTermBreakAfter != null) { transformer.setParameter("variablelist.term.break.after", convertBooleanToXsltParam(variablelistTermBreakAfter)); } if (htmlhelpShowAdvancedSearch != null) { transformer.setParameter("htmlhelp.show.advanced.search", convertBooleanToXsltParam(htmlhelpShowAdvancedSearch)); } if (htmlCellspacing != null) { transformer.setParameter("html.cellspacing", convertStringToXsltParam(htmlCellspacing)); } if (showComments != null) { transformer.setParameter("show.comments", convertBooleanToXsltParam(showComments)); } if (profileOs != null) { transformer.setParameter("profile.os", convertStringToXsltParam(profileOs)); } if (tableFrameBorderStyle != null) { transformer.setParameter("table.frame.border.style", convertStringToXsltParam(tableFrameBorderStyle)); } if (htmlLongdescLink != null) { transformer.setParameter("html.longdesc.link", convertBooleanToXsltParam(htmlLongdescLink)); } if (calloutGraphicsNumberLimit != null) { transformer.setParameter("callout.graphics.number.limit", convertStringToXsltParam(calloutGraphicsNumberLimit)); } if (suppressNavigation != null) { transformer.setParameter("suppress.navigation", convertBooleanToXsltParam(suppressNavigation)); } if (biblioentryItemSeparator != null) { transformer.setParameter("biblioentry.item.separator", convertStringToXsltParam(biblioentryItemSeparator)); } if (xrefTitlePageSeparator != null) { transformer.setParameter("xref.title-page.separator", convertStringToXsltParam(xrefTitlePageSeparator)); } if (tablecolumnsExtension != null) { transformer.setParameter("tablecolumns.extension", convertBooleanToXsltParam(tablecolumnsExtension)); } if (olinkBaseUri != null) { transformer.setParameter("olink.base.uri", convertStringToXsltParam(olinkBaseUri)); } if (makeValidHtml != null) { transformer.setParameter("make.valid.html", convertBooleanToXsltParam(makeValidHtml)); } if (annotationGraphicOpen != null) { transformer.setParameter("annotation.graphic.open", convertStringToXsltParam(annotationGraphicOpen)); } if (profileAudience != null) { transformer.setParameter("profile.audience", convertStringToXsltParam(profileAudience)); } if (emailDelimitersEnabled != null) { transformer.setParameter("email.delimiters.enabled", convertBooleanToXsltParam(emailDelimitersEnabled)); } if (generateCssHeader != null) { transformer.setParameter("generate.css.header", convertBooleanToXsltParam(generateCssHeader)); } if (htmlhelpTitle != null) { transformer.setParameter("htmlhelp.title", convertStringToXsltParam(htmlhelpTitle)); } if (texMathInAlt != null) { transformer.setParameter("tex.math.in.alt", convertStringToXsltParam(texMathInAlt)); } if (htmlhelpForceMapAndAlias != null) { transformer.setParameter("htmlhelp.force.map.and.alias", convertBooleanToXsltParam(htmlhelpForceMapAndAlias)); } if (sectionAutolabelMaxDepth != null) { transformer.setParameter("section.autolabel.max.depth", convertStringToXsltParam(sectionAutolabelMaxDepth)); } if (idWarnings != null) { transformer.setParameter("id.warnings", convertBooleanToXsltParam(idWarnings)); } if (adeExtensions != null) { transformer.setParameter("ade.extensions", convertBooleanToXsltParam(adeExtensions)); } if (formalObjectBreakAfter != null) { transformer.setParameter("formal.object.break.after", convertStringToXsltParam(formalObjectBreakAfter)); } if (profileArch != null) { transformer.setParameter("profile.arch", convertStringToXsltParam(profileArch)); } if (htmlhelpMapFile != null) { transformer.setParameter("htmlhelp.map.file", convertStringToXsltParam(htmlhelpMapFile)); } if (chunkerOutputCdataSectionElements != null) { transformer.setParameter("chunker.output.cdata-section-elements", convertStringToXsltParam(chunkerOutputCdataSectionElements)); } if (profileConformance != null) { transformer.setParameter("profile.conformance", convertStringToXsltParam(profileConformance)); } if (htmlHeadLegalnoticeLinkMultiple != null) { transformer.setParameter("html.head.legalnotice.link.multiple", convertBooleanToXsltParam(htmlHeadLegalnoticeLinkMultiple)); } if (refclassSuppress != null) { transformer.setParameter("refclass.suppress", convertBooleanToXsltParam(refclassSuppress)); } if (htmlCellpadding != null) { transformer.setParameter("html.cellpadding", convertStringToXsltParam(htmlCellpadding)); } if (eclipsePluginId != null) { transformer.setParameter("eclipse.plugin.id", convertStringToXsltParam(eclipsePluginId)); } if (chunkerOutputDoctypePublic != null) { transformer.setParameter("chunker.output.doctype-public", convertStringToXsltParam(chunkerOutputDoctypePublic)); } if (paraPropagatesStyle != null) { transformer.setParameter("para.propagates.style", convertBooleanToXsltParam(paraPropagatesStyle)); } if (makeCleanHtml != null) { transformer.setParameter("make.clean.html", convertBooleanToXsltParam(makeCleanHtml)); } if (tocListType != null) { transformer.setParameter("toc.list.type", convertStringToXsltParam(tocListType)); } if (navigGraphics != null) { transformer.setParameter("navig.graphics", convertBooleanToXsltParam(navigGraphics)); } if (generateRevhistoryLink != null) { transformer.setParameter("generate.revhistory.link", convertBooleanToXsltParam(generateRevhistoryLink)); } if (docbookCssLink != null) { transformer.setParameter("docbook.css.link", convertBooleanToXsltParam(docbookCssLink)); } if (l10nXml != null) { transformer.setParameter("l10n.xml", convertStringToXsltParam(l10nXml)); } if (tableFootnoteNumberSymbols != null) { transformer.setParameter("table.footnote.number.symbols", convertStringToXsltParam(tableFootnoteNumberSymbols)); } if (ulinkTarget != null) { transformer.setParameter("ulink.target", convertStringToXsltParam(ulinkTarget)); } if (chunkerOutputEncoding != null) { transformer.setParameter("chunker.output.encoding", convertStringToXsltParam(chunkerOutputEncoding)); } if (sectionAutolabel != null) { transformer.setParameter("section.autolabel", convertBooleanToXsltParam(sectionAutolabel)); } if (generateMetaAbstract != null) { transformer.setParameter("generate.meta.abstract", convertBooleanToXsltParam(generateMetaAbstract)); } if (htmlhelpHhpTail != null) { transformer.setParameter("htmlhelp.hhp.tail", convertStringToXsltParam(htmlhelpHhpTail)); } if (chunkToc != null) { transformer.setParameter("chunk.toc", convertStringToXsltParam(chunkToc)); } if (htmlhelpShowFavorities != null) { transformer.setParameter("htmlhelp.show.favorities", convertBooleanToXsltParam(htmlhelpShowFavorities)); } if (glosstermAutoLink != null) { transformer.setParameter("glossterm.auto.link", convertBooleanToXsltParam(glosstermAutoLink)); } if (get != null) { transformer.setParameter("get", convertStringToXsltParam(get)); } if (simplesectInToc != null) { transformer.setParameter("simplesect.in.toc", convertBooleanToXsltParam(simplesectInToc)); } if (suppressHeaderNavigation != null) { transformer.setParameter("suppress.header.navigation", convertBooleanToXsltParam(suppressHeaderNavigation)); } if (htmlhelpButtonJump2 != null) { transformer.setParameter("htmlhelp.button.jump2", convertBooleanToXsltParam(htmlhelpButtonJump2)); } if (htmlhelpButtonJump1 != null) { transformer.setParameter("htmlhelp.button.jump1", convertBooleanToXsltParam(htmlhelpButtonJump1)); } if (chunkerOutputOmitXmlDeclaration != null) { transformer.setParameter("chunker.output.omit-xml-declaration", convertStringToXsltParam(chunkerOutputOmitXmlDeclaration)); } if (htmlhelpButtonForward != null) { transformer.setParameter("htmlhelp.button.forward", convertBooleanToXsltParam(htmlhelpButtonForward)); } if (punctHonorific != null) { transformer.setParameter("punct.honorific", convertStringToXsltParam(punctHonorific)); } if (ignoreImageScaling != null) { transformer.setParameter("ignore.image.scaling", convertBooleanToXsltParam(ignoreImageScaling)); } if (appendixAutolabel != null) { transformer.setParameter("appendix.autolabel", convertStringToXsltParam(appendixAutolabel)); } if (entryPropagatesStyle != null) { transformer.setParameter("entry.propagates.style", convertBooleanToXsltParam(entryPropagatesStyle)); } if (suppressFooterNavigation != null) { transformer.setParameter("suppress.footer.navigation", convertBooleanToXsltParam(suppressFooterNavigation)); } if (indexTermSeparator != null) { transformer.setParameter("index.term.separator", convertStringToXsltParam(indexTermSeparator)); } if (calloutListTable != null) { transformer.setParameter("callout.list.table", convertBooleanToXsltParam(calloutListTable)); } if (htmlhelpOnly != null) { transformer.setParameter("htmlhelp.only", convertBooleanToXsltParam(htmlhelpOnly)); } if (htmlLongdesc != null) { transformer.setParameter("html.longdesc", convertBooleanToXsltParam(htmlLongdesc)); } if (editedbyEnabled != null) { transformer.setParameter("editedby.enabled", convertBooleanToXsltParam(editedbyEnabled)); } if (chunkerOutputMediaType != null) { transformer.setParameter("chunker.output.media-type", convertStringToXsltParam(chunkerOutputMediaType)); } if (segmentedlistAsTable != null) { transformer.setParameter("segmentedlist.as.table", convertBooleanToXsltParam(segmentedlistAsTable)); } if (htmlhelpHhc != null) { transformer.setParameter("htmlhelp.hhc", convertStringToXsltParam(htmlhelpHhc)); } if (htmlhelpHhp != null) { transformer.setParameter("htmlhelp.hhp", convertStringToXsltParam(htmlhelpHhp)); } if (chunkerOutputIndent != null) { transformer.setParameter("chunker.output.indent", convertStringToXsltParam(chunkerOutputIndent)); } if (htmlhelpHhk != null) { transformer.setParameter("htmlhelp.hhk", convertStringToXsltParam(htmlhelpHhk)); } if (customCssSource != null) { transformer.setParameter("custom.css.source", convertStringToXsltParam(customCssSource)); } if (htmlhelpEncoding != null) { transformer.setParameter("htmlhelp.encoding", convertStringToXsltParam(htmlhelpEncoding)); } if (annotationGraphicClose != null) { transformer.setParameter("annotation.graphic.close", convertStringToXsltParam(annotationGraphicClose)); } if (defaultTableFrame != null) { transformer.setParameter("default.table.frame", convertStringToXsltParam(defaultTableFrame)); } if (glossaryCollection != null) { transformer.setParameter("glossary.collection", convertStringToXsltParam(glossaryCollection)); } if (olinkOutlineExt != null) { transformer.setParameter("olink.outline.ext", convertStringToXsltParam(olinkOutlineExt)); } if (menuchoiceMenuSeparator != null) { transformer.setParameter("menuchoice.menu.separator", convertStringToXsltParam(menuchoiceMenuSeparator)); } if (profileSecurity != null) { transformer.setParameter("profile.security", convertStringToXsltParam(profileSecurity)); } if (chapterAutolabel != null) { transformer.setParameter("chapter.autolabel", convertStringToXsltParam(chapterAutolabel)); } if (biblioentryPrimaryCount != null) { transformer.setParameter("biblioentry.primary.count", convertStringToXsltParam(biblioentryPrimaryCount)); } if (pixelsPerInch != null) { transformer.setParameter("pixels.per.inch", convertStringToXsltParam(pixelsPerInch)); } if (contribInlineEnabled != null) { transformer.setParameter("contrib.inline.enabled", convertBooleanToXsltParam(contribInlineEnabled)); } if (olinkResolver != null) { transformer.setParameter("olink.resolver", convertStringToXsltParam(olinkResolver)); } if (htmlhelpButtonBack != null) { transformer.setParameter("htmlhelp.button.back", convertBooleanToXsltParam(htmlhelpButtonBack)); } if (formalTitlePlacement != null) { transformer.setParameter("formal.title.placement", convertStringToXsltParam(formalTitlePlacement)); } if (chunkerOutputQuiet != null) { transformer.setParameter("chunker.output.quiet", convertStringToXsltParam(chunkerOutputQuiet)); } if (bibliographyCollection != null) { transformer.setParameter("bibliography.collection", convertStringToXsltParam(bibliographyCollection)); } if (indexRangeSeparator != null) { transformer.setParameter("index.range.separator", convertStringToXsltParam(indexRangeSeparator)); } if (htmlhelpButtonLocate != null) { transformer.setParameter("htmlhelp.button.locate", convertBooleanToXsltParam(htmlhelpButtonLocate)); } if (shadeVerbatim != null) { transformer.setParameter("shade.verbatim", convertBooleanToXsltParam(shadeVerbatim)); } if (linenumberingWidth != null) { transformer.setParameter("linenumbering.width", convertStringToXsltParam(linenumberingWidth)); } if (l10nGentextDefaultLanguage != null) { transformer.setParameter("l10n.gentext.default.language", convertStringToXsltParam(l10nGentextDefaultLanguage)); } if (generateLegalnoticeLink != null) { transformer.setParameter("generate.legalnotice.link", convertBooleanToXsltParam(generateLegalnoticeLink)); } if (refentryGenerateName != null) { transformer.setParameter("refentry.generate.name", convertBooleanToXsltParam(refentryGenerateName)); } if (admonStyle != null) { transformer.setParameter("admon.style", convertStringToXsltParam(admonStyle)); } if (xrefLabelTitleSeparator != null) { transformer.setParameter("xref.label-title.separator", convertStringToXsltParam(xrefLabelTitleSeparator)); } if (htmlStylesheetType != null) { transformer.setParameter("html.stylesheet.type", convertStringToXsltParam(htmlStylesheetType)); } if (variablelistTermSeparator != null) { transformer.setParameter("variablelist.term.separator", convertStringToXsltParam(variablelistTermSeparator)); } if (qandaInheritNumeration != null) { transformer.setParameter("qanda.inherit.numeration", convertBooleanToXsltParam(qandaInheritNumeration)); } if (calloutDefaultcolumn != null) { transformer.setParameter("callout.defaultcolumn", convertStringToXsltParam(calloutDefaultcolumn)); } if (profileRevisionflag != null) { transformer.setParameter("profile.revisionflag", convertStringToXsltParam(profileRevisionflag)); } if (procedureStepNumerationFormats != null) { transformer.setParameter("procedure.step.numeration.formats", convertStringToXsltParam(procedureStepNumerationFormats)); } if (rootid != null) { transformer.setParameter("rootid", convertStringToXsltParam(rootid)); } if (chunkSectionDepth != null) { transformer.setParameter("chunk.section.depth", convertStringToXsltParam(chunkSectionDepth)); } if (refentryXrefManvolnum != null) { transformer.setParameter("refentry.xref.manvolnum", convertBooleanToXsltParam(refentryXrefManvolnum)); } if (epubHtmlTocId != null) { transformer.setParameter("epub.html.toc.id", convertStringToXsltParam(epubHtmlTocId)); } if (htmlhelpHhpWindow != null) { transformer.setParameter("htmlhelp.hhp.window", convertStringToXsltParam(htmlhelpHhpWindow)); } if (collectXrefTargets != null) { transformer.setParameter("collect.xref.targets", convertStringToXsltParam(collectXrefTargets)); } if (makeSingleYearRanges != null) { transformer.setParameter("make.single.year.ranges", convertBooleanToXsltParam(makeSingleYearRanges)); } if (htmlhelpEnhancedDecompilation != null) { transformer.setParameter("htmlhelp.enhanced.decompilation", convertBooleanToXsltParam(htmlhelpEnhancedDecompilation)); } if (htmlhelpButtonJump2Url != null) { transformer.setParameter("htmlhelp.button.jump2.url", convertStringToXsltParam(htmlhelpButtonJump2Url)); } if (htmlhelpHhcFoldersInsteadBooks != null) { transformer.setParameter("htmlhelp.hhc.folders.instead.books", convertBooleanToXsltParam(htmlhelpHhcFoldersInsteadBooks)); } if (generateIdAttributes != null) { transformer.setParameter("generate.id.attributes", convertBooleanToXsltParam(generateIdAttributes)); } if (epubCoverId != null) { transformer.setParameter("epub.cover.id", convertStringToXsltParam(epubCoverId)); } if (stylesheetResultType != null) { transformer.setParameter("stylesheet.result.type", convertStringToXsltParam(stylesheetResultType)); } if (indexNumberSeparator != null) { transformer.setParameter("index.number.separator", convertStringToXsltParam(indexNumberSeparator)); } if (calloutUnicodeStartCharacter != null) { transformer.setParameter("callout.unicode.start.character", convertStringToXsltParam(calloutUnicodeStartCharacter)); } if (ebnfTableBgcolor != null) { transformer.setParameter("ebnf.table.bgcolor", convertStringToXsltParam(ebnfTableBgcolor)); } if (epubContainerFilename != null) { transformer.setParameter("epub.container.filename", convertStringToXsltParam(epubContainerFilename)); } if (l10nLangValueRfcCompliant != null) { transformer.setParameter("l10n.lang.value.rfc.compliant", convertBooleanToXsltParam(l10nLangValueRfcCompliant)); } if (xrefLabelPageSeparator != null) { transformer.setParameter("xref.label-page.separator", convertStringToXsltParam(xrefLabelPageSeparator)); } if (processEmptySourceToc != null) { transformer.setParameter("process.empty.source.toc", convertBooleanToXsltParam(processEmptySourceToc)); } if (htmlhelpRememberWindowPosition != null) { transformer.setParameter("htmlhelp.remember.window.position", convertBooleanToXsltParam(htmlhelpRememberWindowPosition)); } if (navigShowtitles != null) { transformer.setParameter("navig.showtitles", convertBooleanToXsltParam(navigShowtitles)); } if (highlightXslthlConfig != null) { transformer.setParameter("highlight.xslthl.config", convertStringToXsltParam(highlightXslthlConfig)); } if (epubNcxFilename != null) { transformer.setParameter("epub.ncx.filename", convertStringToXsltParam(epubNcxFilename)); } if (highlightSource != null) { transformer.setParameter("highlight.source", convertBooleanToXsltParam(highlightSource)); } if (footerRule != null) { transformer.setParameter("footer.rule", convertBooleanToXsltParam(footerRule)); } if (refentryGenerateTitle != null) { transformer.setParameter("refentry.generate.title", convertBooleanToXsltParam(refentryGenerateTitle)); } if (navigGraphicsPath != null) { transformer.setParameter("navig.graphics.path", convertStringToXsltParam(navigGraphicsPath)); } if (calloutGraphicsPath != null) { transformer.setParameter("callout.graphics.path", convertStringToXsltParam(calloutGraphicsPath)); } if (autotocLabelInHyperlink != null) { transformer.setParameter("autotoc.label.in.hyperlink", convertBooleanToXsltParam(autotocLabelInHyperlink)); } if (htmlhelpButtonZoom != null) { transformer.setParameter("htmlhelp.button.zoom", convertBooleanToXsltParam(htmlhelpButtonZoom)); } if (chunkerOutputMethod != null) { transformer.setParameter("chunker.output.method", convertStringToXsltParam(chunkerOutputMethod)); } if (qandaInToc != null) { transformer.setParameter("qanda.in.toc", convertBooleanToXsltParam(qandaInToc)); } if (glossarySort != null) { transformer.setParameter("glossary.sort", convertBooleanToXsltParam(glossarySort)); } if (calloutGraphicsExtension != null) { transformer.setParameter("callout.graphics.extension", convertStringToXsltParam(calloutGraphicsExtension)); } if (footnoteNumberSymbols != null) { transformer.setParameter("footnote.number.symbols", convertStringToXsltParam(footnoteNumberSymbols)); } if (htmlhelpButtonHomeUrl != null) { transformer.setParameter("htmlhelp.button.home.url", convertStringToXsltParam(htmlhelpButtonHomeUrl)); } if (tableBordersWithCss != null) { transformer.setParameter("table.borders.with.css", convertBooleanToXsltParam(tableBordersWithCss)); } if (htmlExtraHeadLinks != null) { transformer.setParameter("html.extra.head.links", convertBooleanToXsltParam(htmlExtraHeadLinks)); } if (bridgeheadInToc != null) { transformer.setParameter("bridgehead.in.toc", convertBooleanToXsltParam(bridgeheadInToc)); } if (othercreditLikeAuthorEnabled != null) { transformer.setParameter("othercredit.like.author.enabled", convertBooleanToXsltParam(othercreditLikeAuthorEnabled)); } if (linenumberingEveryNth != null) { transformer.setParameter("linenumbering.everyNth", convertStringToXsltParam(linenumberingEveryNth)); } if (saxonCharacterRepresentation != null) { transformer.setParameter("saxon.character.representation", convertStringToXsltParam(saxonCharacterRepresentation)); } if (funcsynopsisStyle != null) { transformer.setParameter("funcsynopsis.style", convertStringToXsltParam(funcsynopsisStyle)); } if (generateIndex != null) { transformer.setParameter("generate.index", convertBooleanToXsltParam(generateIndex)); } if (emptyLocalL10nXml != null) { transformer.setParameter("empty.local.l10n.xml", convertStringToXsltParam(emptyLocalL10nXml)); } if (htmlhelpShowToolbarText != null) { transformer.setParameter("htmlhelp.show.toolbar.text", convertBooleanToXsltParam(htmlhelpShowToolbarText)); } if (epubEmbeddedFonts != null) { transformer.setParameter("epub.embedded.fonts", convertStringToXsltParam(epubEmbeddedFonts)); } if (l10nGentextUseXrefLanguage != null) { transformer.setParameter("l10n.gentext.use.xref.language", convertBooleanToXsltParam(l10nGentextUseXrefLanguage)); } if (olinkLangFallbackSequence != null) { transformer.setParameter("olink.lang.fallback.sequence", convertStringToXsltParam(olinkLangFallbackSequence)); } if (epubNcxTocId != null) { transformer.setParameter("epub.ncx.toc.id", convertStringToXsltParam(epubNcxTocId)); } if (authorOthernameInMiddle != null) { transformer.setParameter("author.othername.in.middle", convertBooleanToXsltParam(authorOthernameInMiddle)); } if (refentrySeparator != null) { transformer.setParameter("refentry.separator", convertBooleanToXsltParam(refentrySeparator)); } if (menuchoiceSeparator != null) { transformer.setParameter("menuchoice.separator", convertStringToXsltParam(menuchoiceSeparator)); } if (makeYearRanges != null) { transformer.setParameter("make.year.ranges", convertBooleanToXsltParam(makeYearRanges)); } if (makeGraphicViewport != null) { transformer.setParameter("make.graphic.viewport", convertBooleanToXsltParam(makeGraphicViewport)); } if (manifest != null) { transformer.setParameter("manifest", convertStringToXsltParam(manifest)); } if (htmlhelpButtonStop != null) { transformer.setParameter("htmlhelp.button.stop", convertBooleanToXsltParam(htmlhelpButtonStop)); } if (nominalImageDepth != null) { transformer.setParameter("nominal.image.depth", convertStringToXsltParam(nominalImageDepth)); } if (l10nGentextLanguage != null) { transformer.setParameter("l10n.gentext.language", convertStringToXsltParam(l10nGentextLanguage)); } if (htmlhelpChm != null) { transformer.setParameter("htmlhelp.chm", convertStringToXsltParam(htmlhelpChm)); } if (htmlhelpHhcWidth != null) { transformer.setParameter("htmlhelp.hhc.width", convertStringToXsltParam(htmlhelpHhcWidth)); } if (epubNcxDepth != null) { transformer.setParameter("epub.ncx.depth", convertStringToXsltParam(epubNcxDepth)); } if (useExtensions != null) { transformer.setParameter("use.extensions", convertBooleanToXsltParam(useExtensions)); } if (runinheadTitleEndPunct != null) { transformer.setParameter("runinhead.title.end.punct", convertStringToXsltParam(runinheadTitleEndPunct)); } if (olinkDebug != null) { transformer.setParameter("olink.debug", convertBooleanToXsltParam(olinkDebug)); } if (htmlhelpButtonJump1Title != null) { transformer.setParameter("htmlhelp.button.jump1.title", convertStringToXsltParam(htmlhelpButtonJump1Title)); } if (localL10nXml != null) { transformer.setParameter("local.l10n.xml", convertStringToXsltParam(localL10nXml)); } if (indexLinksToSection != null) { transformer.setParameter("index.links.to.section", convertBooleanToXsltParam(indexLinksToSection)); } if (xrefWithNumberAndTitle != null) { transformer.setParameter("xref.with.number.and.title", convertBooleanToXsltParam(xrefWithNumberAndTitle)); } if (admonGraphicsPath != null) { transformer.setParameter("admon.graphics.path", convertStringToXsltParam(admonGraphicsPath)); } if (eclipseAutolabel != null) { transformer.setParameter("eclipse.autolabel", convertBooleanToXsltParam(eclipseAutolabel)); } if (annotationJs != null) { transformer.setParameter("annotation.js", convertStringToXsltParam(annotationJs)); } if (htmlhelpAutolabel != null) { transformer.setParameter("htmlhelp.autolabel", convertBooleanToXsltParam(htmlhelpAutolabel)); } if (tableFootnoteNumberFormat != null) { transformer.setParameter("table.footnote.number.format", convertStringToXsltParam(tableFootnoteNumberFormat)); } if (htmlHeadLegalnoticeLinkTypes != null) { transformer.setParameter("html.head.legalnotice.link.types", convertStringToXsltParam(htmlHeadLegalnoticeLinkTypes)); } if (defaultImageWidth != null) { transformer.setParameter("default.image.width", convertStringToXsltParam(defaultImageWidth)); } if (htmlhelpButtonHome != null) { transformer.setParameter("htmlhelp.button.home", convertBooleanToXsltParam(htmlhelpButtonHome)); } if (headerRule != null) { transformer.setParameter("header.rule", convertBooleanToXsltParam(headerRule)); } if (prefaceAutolabel != null) { transformer.setParameter("preface.autolabel", convertStringToXsltParam(prefaceAutolabel)); } if (htmlhelpEnumerateImages != null) { transformer.setParameter("htmlhelp.enumerate.images", convertBooleanToXsltParam(htmlhelpEnumerateImages)); } if (currentDocid != null) { transformer.setParameter("current.docid", convertStringToXsltParam(currentDocid)); } if (citerefentryLink != null) { transformer.setParameter("citerefentry.link", convertBooleanToXsltParam(citerefentryLink)); } if (preferInternalOlink != null) { transformer.setParameter("prefer.internal.olink", convertBooleanToXsltParam(preferInternalOlink)); } if (useSvg != null) { transformer.setParameter("use.svg", convertBooleanToXsltParam(useSvg)); } if (profileAttribute != null) { transformer.setParameter("profile.attribute", convertStringToXsltParam(profileAttribute)); } if (linkMailtoUrl != null) { transformer.setParameter("link.mailto.url", convertStringToXsltParam(linkMailtoUrl)); } if (htmlhelpHhpWindows != null) { transformer.setParameter("htmlhelp.hhp.windows", convertStringToXsltParam(htmlhelpHhpWindows)); } if (tocMaxDepth != null) { transformer.setParameter("toc.max.depth", convertStringToXsltParam(tocMaxDepth)); } if (targetDatabaseDocument != null) { transformer.setParameter("target.database.document", convertStringToXsltParam(targetDatabaseDocument)); } if (admonGraphicsExtension != null) { transformer.setParameter("admon.graphics.extension", convertStringToXsltParam(admonGraphicsExtension)); } if (htmlExt != null) { transformer.setParameter("html.ext", convertStringToXsltParam(htmlExt)); } if (bibliographyNumbered != null) { transformer.setParameter("bibliography.numbered", convertBooleanToXsltParam(bibliographyNumbered)); } if (epubCoverImageId != null) { transformer.setParameter("epub.cover.image.id", convertStringToXsltParam(epubCoverImageId)); } if (textinsertExtension != null) { transformer.setParameter("textinsert.extension", convertBooleanToXsltParam(textinsertExtension)); } if (epubCoverHtml != null) { transformer.setParameter("epub.cover.html", convertStringToXsltParam(epubCoverHtml)); } if (generateManifest != null) { transformer.setParameter("generate.manifest", convertBooleanToXsltParam(generateManifest)); } if (indexPreferTitleabbrev != null) { transformer.setParameter("index.prefer.titleabbrev", convertBooleanToXsltParam(indexPreferTitleabbrev)); } if (htmlBase != null) { transformer.setParameter("html.base", convertStringToXsltParam(htmlBase)); } if (htmlCleanup != null) { transformer.setParameter("html.cleanup", convertBooleanToXsltParam(htmlCleanup)); } if (defaultTableWidth != null) { transformer.setParameter("default.table.width", convertStringToXsltParam(defaultTableWidth)); } if (chunkerOutputDoctypeSystem != null) { transformer.setParameter("chunker.output.doctype-system", convertStringToXsltParam(chunkerOutputDoctypeSystem)); } if (tocSectionDepth != null) { transformer.setParameter("toc.section.depth", convertStringToXsltParam(tocSectionDepth)); } if (writingMode != null) { transformer.setParameter("writing.mode", convertStringToXsltParam(writingMode)); } if (javahelpEncoding != null) { transformer.setParameter("javahelp.encoding", convertStringToXsltParam(javahelpEncoding)); } if (htmlhelpDisplayProgress != null) { transformer.setParameter("htmlhelp.display.progress", convertBooleanToXsltParam(htmlhelpDisplayProgress)); } if (calloutUnicode != null) { transformer.setParameter("callout.unicode", convertBooleanToXsltParam(calloutUnicode)); } if (textdataDefaultEncoding != null) { transformer.setParameter("textdata.default.encoding", convertStringToXsltParam(textdataDefaultEncoding)); } if (annotateToc != null) { transformer.setParameter("annotate.toc", convertBooleanToXsltParam(annotateToc)); } if (admonGraphics != null) { transformer.setParameter("admon.graphics", convertBooleanToXsltParam(admonGraphics)); } if (htmlhelpButtonHideshow != null) { transformer.setParameter("htmlhelp.button.hideshow", convertBooleanToXsltParam(htmlhelpButtonHideshow)); } if (htmlhelpButtonRefresh != null) { transformer.setParameter("htmlhelp.button.refresh", convertBooleanToXsltParam(htmlhelpButtonRefresh)); } if (runinheadDefaultTitleEndPunct != null) { transformer.setParameter("runinhead.default.title.end.punct", convertStringToXsltParam(runinheadDefaultTitleEndPunct)); } if (glossentryShowAcronym != null) { transformer.setParameter("glossentry.show.acronym", convertStringToXsltParam(glossentryShowAcronym)); } if (cssDecoration != null) { transformer.setParameter("css.decoration", convertBooleanToXsltParam(cssDecoration)); } if (useRoleForMediaobject != null) { transformer.setParameter("use.role.for.mediaobject", convertBooleanToXsltParam(useRoleForMediaobject)); } if (sectionLabelIncludesComponentLabel != null) { transformer.setParameter("section.label.includes.component.label", convertBooleanToXsltParam(sectionLabelIncludesComponentLabel)); } if (admonTextlabel != null) { transformer.setParameter("admon.textlabel", convertBooleanToXsltParam(admonTextlabel)); } if (profileVendor != null) { transformer.setParameter("profile.vendor", convertStringToXsltParam(profileVendor)); } if (profileStatus != null) { transformer.setParameter("profile.status", convertStringToXsltParam(profileStatus)); } if (indexOnRole != null) { transformer.setParameter("index.on.role", convertBooleanToXsltParam(indexOnRole)); } if (draftWatermarkImage != null) { transformer.setParameter("draft.watermark.image", convertStringToXsltParam(draftWatermarkImage)); } if (profileWordsize != null) { transformer.setParameter("profile.wordsize", convertStringToXsltParam(profileWordsize)); } if (texMathFile != null) { transformer.setParameter("tex.math.file", convertStringToXsltParam(texMathFile)); } if (htmlhelpOutput != null) { transformer.setParameter("htmlhelp.output", convertStringToXsltParam(htmlhelpOutput)); } if (qandaNestedInToc != null) { transformer.setParameter("qanda.nested.in.toc", convertBooleanToXsltParam(qandaNestedInToc)); } if (htmlhelpButtonOptions != null) { transformer.setParameter("htmlhelp.button.options", convertBooleanToXsltParam(htmlhelpButtonOptions)); } if (tableCellBorderColor != null) { transformer.setParameter("table.cell.border.color", convertStringToXsltParam(tableCellBorderColor)); } if (olinkFragid != null) { transformer.setParameter("olink.fragid", convertStringToXsltParam(olinkFragid)); } if (linenumberingSeparator != null) { transformer.setParameter("linenumbering.separator", convertStringToXsltParam(linenumberingSeparator)); } if (docbookCssSource != null) { transformer.setParameter("docbook.css.source", convertStringToXsltParam(docbookCssSource)); } if (htmlhelpHhcShowRoot != null) { transformer.setParameter("htmlhelp.hhc.show.root", convertBooleanToXsltParam(htmlhelpHhcShowRoot)); } if (epubAutolabel != null) { transformer.setParameter("epub.autolabel", convertBooleanToXsltParam(epubAutolabel)); } if (htmlhelpButtonNext != null) { transformer.setParameter("htmlhelp.button.next", convertBooleanToXsltParam(htmlhelpButtonNext)); } if (defaultFloatClass != null) { transformer.setParameter("default.float.class", convertStringToXsltParam(defaultFloatClass)); } if (labelFromPart != null) { transformer.setParameter("label.from.part", convertBooleanToXsltParam(labelFromPart)); } if (abstractNotitleEnabled != null) { transformer.setParameter("abstract.notitle.enabled", convertBooleanToXsltParam(abstractNotitleEnabled)); } if (bibliographyStyle != null) { transformer.setParameter("bibliography.style", convertStringToXsltParam(bibliographyStyle)); } if (tableFrameBorderThickness != null) { transformer.setParameter("table.frame.border.thickness", convertStringToXsltParam(tableFrameBorderThickness)); } if (exslNodeSetAvailable != null) { transformer.setParameter("exsl.node.set.available", convertBooleanToXsltParam(exslNodeSetAvailable)); } if (calloutsExtension != null) { transformer.setParameter("callouts.extension", convertBooleanToXsltParam(calloutsExtension)); } if (annotationSupport != null) { transformer.setParameter("annotation.support", convertBooleanToXsltParam(annotationSupport)); } if (chunkerOutputStandalone != null) { transformer.setParameter("chunker.output.standalone", convertStringToXsltParam(chunkerOutputStandalone)); } if (profileSeparator != null) { transformer.setParameter("profile.separator", convertStringToXsltParam(profileSeparator)); } if (linenumberingExtension != null) { transformer.setParameter("linenumbering.extension", convertBooleanToXsltParam(linenumberingExtension)); } if (htmlhelpAliasFile != null) { transformer.setParameter("htmlhelp.alias.file", convertStringToXsltParam(htmlhelpAliasFile)); } if (keepRelativeImageUris != null) { transformer.setParameter("keep.relative.image.uris", convertBooleanToXsltParam(keepRelativeImageUris)); } if (useIdAsFilename != null) { transformer.setParameter("use.id.as.filename", convertBooleanToXsltParam(useIdAsFilename)); } if (profileUserlevel != null) { transformer.setParameter("profile.userlevel", convertStringToXsltParam(profileUserlevel)); } if (eclipsePluginName != null) { transformer.setParameter("eclipse.plugin.name", convertStringToXsltParam(eclipsePluginName)); } if (tableCellBorderThickness != null) { transformer.setParameter("table.cell.border.thickness", convertStringToXsltParam(tableCellBorderThickness)); } if (tableCellBorderStyle != null) { transformer.setParameter("table.cell.border.style", convertStringToXsltParam(tableCellBorderStyle)); } if (htmlhelpButtonJump1Url != null) { transformer.setParameter("htmlhelp.button.jump1.url", convertStringToXsltParam(htmlhelpButtonJump1Url)); } if (graphicsizeUseImgSrcPath != null) { transformer.setParameter("graphicsize.use.img.src.path", convertBooleanToXsltParam(graphicsizeUseImgSrcPath)); } if (chunkSeparateLots != null) { transformer.setParameter("chunk.separate.lots", convertBooleanToXsltParam(chunkSeparateLots)); } if (useEmbedForSvg != null) { transformer.setParameter("use.embed.for.svg", convertBooleanToXsltParam(useEmbedForSvg)); } if (qandadivAutolabel != null) { transformer.setParameter("qandadiv.autolabel", convertBooleanToXsltParam(qandadivAutolabel)); } if (ebnfStatementTerminator != null) { transformer.setParameter("ebnf.statement.terminator", convertStringToXsltParam(ebnfStatementTerminator)); } if (targetsFilename != null) { transformer.setParameter("targets.filename", convertStringToXsltParam(targetsFilename)); } if (generateSectionTocLevel != null) { transformer.setParameter("generate.section.toc.level", convertStringToXsltParam(generateSectionTocLevel)); } if (spacingParas != null) { transformer.setParameter("spacing.paras", convertBooleanToXsltParam(spacingParas)); } if (functionParens != null) { transformer.setParameter("function.parens", convertBooleanToXsltParam(functionParens)); } if (formalProcedures != null) { transformer.setParameter("formal.procedures", convertBooleanToXsltParam(formalProcedures)); } if (epubCoverFilename != null) { transformer.setParameter("epub.cover.filename", convertStringToXsltParam(epubCoverFilename)); } if (processSourceToc != null) { transformer.setParameter("process.source.toc", convertBooleanToXsltParam(processSourceToc)); } if (annotationCss != null) { transformer.setParameter("annotation.css", convertStringToXsltParam(annotationCss)); } if (htmlhelpHhcSectionDepth != null) { transformer.setParameter("htmlhelp.hhc.section.depth", convertStringToXsltParam(htmlhelpHhcSectionDepth)); } if (useLocalOlinkStyle != null) { transformer.setParameter("use.local.olink.style", convertBooleanToXsltParam(useLocalOlinkStyle)); } if (phrasePropagatesStyle != null) { transformer.setParameter("phrase.propagates.style", convertBooleanToXsltParam(phrasePropagatesStyle)); } if (calloutGraphics != null) { transformer.setParameter("callout.graphics", convertBooleanToXsltParam(calloutGraphics)); } if (insertOlinkPageNumber != null) { transformer.setParameter("insert.olink.page.number", convertStringToXsltParam(insertOlinkPageNumber)); } if (chunkTocsAndLotsHasTitle != null) { transformer.setParameter("chunk.tocs.and.lots.has.title", convertBooleanToXsltParam(chunkTocsAndLotsHasTitle)); } if (componentLabelIncludesPartLabel != null) { transformer.setParameter("component.label.includes.part.label", convertBooleanToXsltParam(componentLabelIncludesPartLabel)); } if (profileValue != null) { transformer.setParameter("profile.value", convertStringToXsltParam(profileValue)); } if (imgSrcPath != null) { transformer.setParameter("img.src.path", convertStringToXsltParam(imgSrcPath)); } if (firsttermOnlyLink != null) { transformer.setParameter("firstterm.only.link", convertBooleanToXsltParam(firsttermOnlyLink)); } if (draftMode != null) { transformer.setParameter("draft.mode", convertStringToXsltParam(draftMode)); } if (funcsynopsisDecoration != null) { transformer.setParameter("funcsynopsis.decoration", convertBooleanToXsltParam(funcsynopsisDecoration)); } if (calloutUnicodeNumberLimit != null) { transformer.setParameter("callout.unicode.number.limit", convertStringToXsltParam(calloutUnicodeNumberLimit)); } if (htmlhelpButtonPrint != null) { transformer.setParameter("htmlhelp.button.print", convertBooleanToXsltParam(htmlhelpButtonPrint)); } if (eclipsePluginProvider != null) { transformer.setParameter("eclipse.plugin.provider", convertStringToXsltParam(eclipsePluginProvider)); } if (profileLang != null) { transformer.setParameter("profile.lang", convertStringToXsltParam(profileLang)); } if (olinkPubid != null) { transformer.setParameter("olink.pubid", convertStringToXsltParam(olinkPubid)); } if (blurbOnTitlepageEnabled != null) { transformer.setParameter("blurb.on.titlepage.enabled", convertBooleanToXsltParam(blurbOnTitlepageEnabled)); } } public File getSourceDirectory() { return sourceDirectory; } public File getTargetDirectory() { return targetDirectory; } public File getGeneratedSourceDirectory() { return generatedSourceDirectory; } public String getDefaultStylesheetLocation() { return "docbook/epub/docbook.xsl"; } public String getType() { return "epub"; } public String getStylesheetLocation() { getLog().debug("Customization: " + epubCustomization); if (epubCustomization != null) { return epubCustomization; } else if (getNonDefaultStylesheetLocation() == null) { return getDefaultStylesheetLocation(); } else { return getNonDefaultStylesheetLocation(); } } public String getTargetFileExtension() { return targetFileExtension; } public void setTargetFileExtension(String extension) { targetFileExtension = extension; } public String[] getIncludes() { String[] results = includes.split(","); for (int i = 0; i < results.length; i++) { results[i] = results[i].trim(); } return results; } public List getEntities() { return entities; } public List getCustomizationParameters() { return customizationParameters; } public Properties getSystemProperties() { return systemProperties; } public Target getPreProcess() { return preProcess; } public Target getPostProcess() { return postProcess; } public MavenProject getMavenProject() { return project; } public List getArtifacts() { return artifacts; } protected boolean getXIncludeSupported() { return xincludeSupported; } /** * Returns false if the stylesheet is responsible to create the output file(s) using its own naming scheme. * * @return If using the standard output. */ protected boolean isUseStandardOutput() { return useStandardOutput; } protected void setUseStandardOutput(boolean useStandardOutput) { this.useStandardOutput = useStandardOutput; } protected void copyImages(String sourceDirectoryPath, String targetDirectoryPath) throws IOException { // copy the images directory so it gets zipped FileUtils.mkdir(targetDirectoryPath + "/images"); FileUtils.copyDirectory(getImageDirectory(), new File(targetDirectoryPath + "/images")); // copy the figures directory so it gets zipped FileUtils.mkdir(targetDirectoryPath + "/figures"); FileUtils.copyDirectory(new File(sourceDirectoryPath + "/figures"), new File(targetDirectoryPath + "/figures")); } public void postProcessResult(File result) throws MojoExecutionException { // First transform the cover page transformCover(); final File targetDirectory = result.getParentFile(); try { final URL containerURL = getClass().getResource("/epub/container.xml"); FileUtils.copyURLToFile(containerURL, new File(targetDirectory, "META-INF" + File.separator + "container.xml")); } catch (IOException e) { throw new MojoExecutionException("Unable to copy hardcoded container.xml file", e); } // copy the images and figures directories so they gets zipped try { copyImages(sourceDirectory.toString(), targetDirectory.toString()); } catch (IOException e) { throw new MojoExecutionException("Unable to copy images/figures directory", e); } //make PNGs from SVG images rasterize(new File(targetDirectory.toString() + "/images")); // copy mimetype file try { final URL mimetypeURL = getClass().getResource("/epub/mimetype"); FileUtils.copyURLToFile(mimetypeURL, new File(targetDirectory, "mimetype")); } catch (IOException e) { throw new MojoExecutionException("Unable to copy hardcoded mimetype file", e); } //do the CSS things copyTemplate(targetDirectory); try { ZipArchiver zipArchiver = new ZipArchiver(); zipArchiver.addDirectory(targetDirectory); zipArchiver.setCompress(true); // seems to not be a problem to have mimetype compressed zipArchiver.setDestFile(new File(targetDirectory.getParentFile(), result.getName())); // copy it to parent dir zipArchiver.createArchive(); getLog().debug("epub file created at: " + zipArchiver.getDestFile().getAbsolutePath()); } catch (Exception e) { throw new MojoExecutionException("Unable to zip epub file", e); } } /** * The greeting to display. * * @parameter expression="${generate-pdf.branding}" default-value="rackspace" */ private String branding; /** * A parameter used to specify the security level (external, internal, reviewer, writeronly) of the document. * * @parameter expression="${generate-pdf.security}" default-value="" */ private String security; /** * A parameter used to configure how many elements to trim from the URI in the documentation for a wadl method. * * @parameter expression="${generate-pdf.trim.wadl.uri.count}" default-value="" */ private String trimWadlUriCount; /** * @parameter expression="${project.build.directory}" */ private File projectBuildDirectory; /** * Controls how the path to the wadl is calculated. If 0 or not set, then * The xslts look for the normalized wadl in /generated-resources/xml/xslt/. * Otherwise, in /generated-resources/xml/xslt/path/to/docbook-src, e.g. * /generated-resources/xml/xslt/src/docbkx/foo.wadl * * @parameter expression="${generate-pdf.compute.wadl.path.from.docbook.path}" default-value="0" */ private String computeWadlPathFromDocbookPath; public void adjustTransformer(Transformer transformer, String sourceFilename, File targetFile) { GitHelper.addCommitProperties(transformer, projectBuildDirectory, 7, getLog()); super.adjustTransformer(transformer, sourceFilename, targetFile); transformer.setParameter("branding", branding); transformer.setParameter("html.stylesheet", "common/css/positioning.css"); transformer.setParameter("project.build.directory", projectBuildDirectory.toURI().toString()); transformer.setParameter("imgSrcPath", "."); if(security != null){ transformer.setParameter("security",security); } if(trimWadlUriCount != null){ transformer.setParameter("trim.wadl.uri.count",trimWadlUriCount); } // // Setup graphics paths // sourceDocBook = new File(sourceFilename); sourceDirectory = sourceDocBook.getParentFile(); File imageDirectory = getImageDirectory(); File calloutDirectory = new File (imageDirectory, "callouts"); transformer.setParameter("docbook.infile",sourceDocBook.toURI().toString()); transformer.setParameter("source.directory",sourceDirectory.toURI().toString()); transformer.setParameter("compute.wadl.path.from.docbook.path",computeWadlPathFromDocbookPath); //transformer.setParameter ("admon.graphics.path", imageDirectory.toURI().toString()); transformer.setParameter ("admon.graphics.path", "images/"); transformer.setParameter ("callout.graphics.path", calloutDirectory.toURI().toString()); // // Setup the background image file // File cloudSub = new File (imageDirectory, "cloud"); File ccSub = new File (imageDirectory, "cc"); coverImage = new File (cloudSub, COVER_IMAGE_NAME); coverImageTemplate = new File (cloudSub, COVER_IMAGE_TEMPLATE_NAME); coverImageTemplate = new File (cloudSub, branding + "-cover.st"); transformer.setParameter ("cloud.api.background.image", coverImage.toURI().toString()); transformer.setParameter ("cloud.api.cc.image.dir", ccSub.toURI().toString()); } protected void transformCover() throws MojoExecutionException { try { ClassLoader classLoader = Thread.currentThread() .getContextClassLoader(); TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = factory.newTransformer(new StreamSource(classLoader.getResourceAsStream(COVER_XSL))); transformer.setParameter("docbook.infile",sourceDocBook.getAbsolutePath()); transformer.transform (new StreamSource(coverImageTemplate), new StreamResult(coverImage)); } catch (TransformerConfigurationException e) { throw new MojoExecutionException("Failed to load JAXP configuration", e); } catch (TransformerException e) { throw new MojoExecutionException("Failed to transform to cover", e); } } protected void copyTemplate(File targetDirectory) throws MojoExecutionException { com.rackspace.cloud.api.docs.FileUtils.extractJaredDirectory("common", EpubMojo.class, targetDirectory); com.agilejava.docbkx.maven.FileUtils.copyFile(new File(targetDirectory, "common/images/favicon-" + branding + ".ico"), new File(targetDirectory, "favicon.ico")); com.agilejava.docbkx.maven.FileUtils.copyFile(new File(targetDirectory, "common/css/positioning-" + branding + ".css"), new File(targetDirectory, "common/css/positioning.css")); com.agilejava.docbkx.maven.FileUtils.copyFile(new File(targetDirectory, "common/main-" + branding + ".js"), new File(targetDirectory, "common/main.js")); } public void preProcess() throws MojoExecutionException { super.preProcess(); final File targetDirectory = getTargetDirectory(); File imageParentDirectory = targetDirectory.getParentFile(); if (!targetDirectory.exists()) { com.rackspace.cloud.api.docs.FileUtils.mkdir(targetDirectory); } // // Extract all images into the image directory. // com.rackspace.cloud.api.docs.FileUtils.extractJaredDirectory("images", PDFMojo.class, imageParentDirectory); setImageDirectory (new File (imageParentDirectory, "images")); // // Extract all fonts into fonts directory // com.rackspace.cloud.api.docs.FileUtils.extractJaredDirectory("fonts", PDFMojo.class, imageParentDirectory); } public void rasterize(File imagedir) throws MojoExecutionException{ try{ // Create a JPEG transcoder PNGTranscoder t = new PNGTranscoder(); // Set the transcoding hints. // t.addTranscodingHint(PNGTranscoder.KEY_QUALITY, // new Float(.8)); File [] svgfiles = imagedir.listFiles(new FilenameFilter() { @Override public boolean accept(File dir, String name) { return name.endsWith(".svg"); } }); for (File svgimage : svgfiles){ // Create the transcoder input. String svgURI = svgimage.toURI().toURL().toString(); TranscoderInput input = new TranscoderInput(svgURI); // Create the transcoder output. OutputStream ostream = new FileOutputStream(svgimage.toString().replace(".svg",".png")); TranscoderOutput output = new TranscoderOutput(ostream); // Save the image. t.transcode(input, output); // Flush and close the stream. ostream.flush(); ostream.close(); } } catch(Exception e){ throw new MojoExecutionException("Could not able to rasterize the svgs", e); } } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy