The cooperation between the DITA-OT Server and the Componize server is based on a specific XProc pipeline plus different beans. All this structure can be simulated for being able to modify the standard DITA-OT management of the DITA-OT Server.
The different components of the configuration are the following:
This pipeline is stored in componize-dita-*.jar
in the
com/componize/dita/pipeline
folder and is called
ditaot.xpl
.
For each transtype and result media types, there is an abstract Spring
Pipeline Definition bean in componize-dita-*.jar
in the com/componize/dita/context/pipeline-context.xpl
file:
For example, for the pdf transtype:
<bean id="ditaot.pdf.pipelineDefinition" parent="ditaot.pipelineDefinition.abstract"> <property name="resultMediaType" ref="pdf.mediaType" /> <property name="options"> <map> <entry key="transtype" value="pdf" /> </map> </property> </bean>
All these definitions inherit from a generic pipeline bean definition:
<bean id="ditaot.pipelineDefinition.abstract" parent="pipeline.abstractPipelineDefinition" abstract="true"> <property name="pipeline"> <bean class="java.net.URI"> <constructor-arg value="classpath:/com/componize/dita/pipeline/ditaot.xpl" /> </bean> </property> <property name="sourceXmlSchemaFilter" ref="dita.schemas" /> </bean>
For each transtype, there are Spring Alfresco Pipeline Definition beans in
componize-alfresco-repository-*.jar
in the
com/componize/alfresco/repo/context/dita-pipeline-context.xpl
file.
For example, for the pdf transtype:
<bean id="alfrescoPipelineDefinition.ditaot.pdf" parent="alfresco.pipeline.definition.abstract"> <property name="id" value="ditaot.pdf.pipelineDefinition" /> <property name="pipelineDefinition" ref="ditaot.pdf.pipelineDefinition" /> </bean>
The titles and descriptions of the pipelines are in
componize-alfresco-repository-*.jar
in the
com/componize/alfresco/repo/messages/pipeline-definitions.properties
file:
ditaot.pdf.pipelineDefinition.title=PDF ditaot.pdf.pipelineDefinition.description=PDF
Last, there are XML Pipeline Configuration where <pipeline> elements corresponds to the id property of the Alfresco Pipeline Definition bean:
For example, for the pdf transtype:
<?xml version="1.0" encoding="UTF-8"?> <pipelineConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cpnz:pipeline:xsd:pipeline-configuration.xsd"> <pipeline>ditaot.pdf.pipelineDefinition</pipeline> <options> ... </options> <catalogs> ... </catalogs> </pipelineConfiguration>
Note: There are some alias defined in componize-alfresco-repository-*.jar in the com/componize/alfresco/repo/context/pipeline-context.xpl file for the default pipelines which can be used instead of the id property:
<entry key="ditaot-pdf" value="ditaot.pdf.pipelineDefinition" />