p:xsl-formatter — The standard p:xsl-formatter step.


<p:declare-step type="p:xsl-formatter">
     <p:input port="source"/>
     <p:input port="parameters" kind="parameter"/>
     <p:output port="result" primary="false"/>
     <p:option name="href" required="true"/>                       <!-- anyURI -->
     <p:option name="content-type"/>                               <!-- string -->


The XSL formatter supports three backends: AntennaHouse, FOP, and RenderX.

Select the backend using the system property or the fo-processor configuration setting.

Processor Configuration value
AntennaHouse com.xmlcalabash.util.FoAH
FOP com.xmlcalabash.util.FoFOP
RenderX com.xmlcalabash.util.FoXEP

Each processor accepts configuration parameters (using the parameter input port or explicit p:with-param instructions) to control its behavior. The specific parameters accepted, and their meanings, are implementation dependent.

AntennaHouse properties

AntennaHouse accepts the following properties: EmbedAllFontsEx, ExitLevel, ImageCompression, NoAccessibility, NoAddingOrChangingComments, NoAssembleDoc, NoChanging, NoContentCopying, NoFillForm, NoPrinting, OptionsFileURI, OwnersPassword, TwoPassFormatting

FOP properties

FOP accepts the following properties: Accessibility, Author, Base14KerningEnabled, BaseURL, BreakIndentInheritanceOnReferenceAreaBoundary, ConserveMemoryPolicy, CreationDate, Creator, FontBaseURL, HyphenBaseURL, Keywords, LocatorEnabled, PageHeight, PageWidth, Producer, SourceResolution, StrictUserConfigValidation, StrictValidation, Subject, TargetResolution, TargetResolution, Title, UseCache, UserConfig

RenderX properties

The RenderX formatter uses its own system property, com.renderx.xep.CONFIG to specify the formatter properties.


This step is implemented by the xmlcalabash1-print module. The jar file from that project must be in the class path in order to use this step.