441 lines
19 KiB
XML
441 lines
19 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
This file is part of the DITA Open Toolkit project.
|
|
|
|
Copyright 2016 Jarno Elovirta
|
|
|
|
See the accompanying LICENSE file for applicable license.
|
|
-->
|
|
<project xmlns:dita="http://dita-ot.sourceforge.net"
|
|
xmlns:if="ant:if"
|
|
xmlns:unless="ant:unless"
|
|
name="ditaot-preprocess2">
|
|
|
|
<target name="preprocess2"
|
|
dita:extension="depends org.dita.dost.platform.InsertDependsAction"
|
|
description="Preprocess"
|
|
dita:depends="{depend.preprocess.pre},
|
|
preprocess2.init,
|
|
ditaval-merge,
|
|
|
|
preprocess2.maps,
|
|
preprocess2.topics,
|
|
|
|
map-clean-map,
|
|
clean-preprocess,
|
|
copy-files2,
|
|
{depend.preprocess.post}">
|
|
<dirname property="_dita.map.output.dir" file="${dita.output.dir}/${user.input.file}" />
|
|
<dirname property="_dita.map.temp.dir" file="${dita.temp.dir}/${user.input.file}" />
|
|
<property name="uplevels" value=""/>
|
|
<property name="dita.map.output.dir" location="${_dita.map.output.dir}/${uplevels}"/>
|
|
</target>
|
|
|
|
<target name="preprocess2.maps"
|
|
depends="map-reader,
|
|
map-mapref,
|
|
map-branch-filter,
|
|
map-keyref,
|
|
map-conrefpush,
|
|
map-conref,
|
|
map-profile"/>
|
|
|
|
<target name="preprocess2.topics"
|
|
depends="topic-reader,
|
|
topic-branch-filter,
|
|
topic-keyref,
|
|
topic-copy-to,
|
|
topic-conrefpush,
|
|
topic-conref,
|
|
topic-profile,
|
|
preprocess2.topic-fragment,
|
|
topic-chunk,
|
|
topic-move-meta-entries,
|
|
topic-maplink,
|
|
topic-topicpull"/>
|
|
|
|
<target name="preprocess2-topic"
|
|
dita:extension="depends org.dita.dost.platform.InsertDependsAction"
|
|
description="Preprocess topic"
|
|
dita:depends="{depend.preprocess.pre},
|
|
preprocess2.init,
|
|
ditaval-merge,
|
|
|
|
topic-reader,
|
|
topic-conrefpush,
|
|
topic-conref,
|
|
topic-profile,
|
|
preprocess2.topic-fragment,
|
|
|
|
topic-move-meta-entries,
|
|
topic-topicpull,
|
|
|
|
clean-preprocess,
|
|
copy-files2,
|
|
{depend.preprocess.post}">
|
|
<dirname property="_dita.map.output.dir" file="${dita.output.dir}/${user.input.file}" />
|
|
<dirname property="_dita.map.temp.dir" file="${dita.temp.dir}/${user.input.file}" />
|
|
<property name="uplevels" value=""/>
|
|
<property name="dita.map.output.dir" location="${_dita.map.output.dir}/${uplevels}"/>
|
|
</target>
|
|
|
|
<target name="preprocess2.init">
|
|
<dita-ot-fail id="DOTA002F">
|
|
<condition>
|
|
<not><isset property="args.input"/></not>
|
|
</condition>
|
|
</dita-ot-fail>
|
|
|
|
<property name="clean-preprocess.use-result-filename" value="true"/>
|
|
|
|
<basename property="dita.input.filename" file="${args.input}" />
|
|
<pathconvert property="dita.map.filename.root">
|
|
<path path="${dita.input.filename}"/>
|
|
<chainedmapper>
|
|
<mapper type="flatten"/>
|
|
<mapper type="regexp" from="^(.+)(\..+?)$$" to="\1"/>
|
|
</chainedmapper>
|
|
</pathconvert>
|
|
<property name="dita.topic.filename.root" value="${dita.map.filename.root}"/>
|
|
|
|
<echo level="info">*****************************************************************</echo>
|
|
<echo level="info">* input = ${args.input}</echo>
|
|
<echo level="info">* resources = ${args.resources}</echo>
|
|
<echo level="info">*****************************************************************</echo>
|
|
|
|
<echoxml file="${dita.temp.dir}/.job.xml">
|
|
<job>
|
|
<property name="temp-file-name-scheme">
|
|
<string>org.dita.dost.module.reader.HashTempFileScheme</string>
|
|
</property>
|
|
</job>
|
|
</echoxml>
|
|
<property name="map.filter-on-parse" value="false"/>
|
|
<property name="topic.filter-on-parse" value="true"/>
|
|
<condition property="preprocess.map-profile.skip">
|
|
<istrue value="${map.filter-on-parse}"/>
|
|
</condition>
|
|
</target>
|
|
|
|
<target name="map-reader"
|
|
description="Generate lists, debug, and filter input map files">
|
|
<pipeline message="Generate maps" taskname="map-reader"
|
|
inputmap="${args.input}">
|
|
<module class="org.dita.dost.module.reader.MapReaderModule">
|
|
<param name="resources" value="${args.resources}" if:set="args.resources"/>
|
|
<param name="inputdir" location="${args.input.dir}" if:set="args.input.dir"/>
|
|
<param name="ditadir" location="${dita.dir}"/>
|
|
<param name="validate" value="${validate}"/>
|
|
<param name="generatecopyouter" value="${generate.copy.outer}"/>
|
|
<param name="outercontrol" value="${outer.control}"/>
|
|
<param name="outputdir" location="${dita.output.dir}"/>
|
|
<param name="transtype" value="${transtype}"/>
|
|
<param name="gramcache" value="${args.grammar.cache}"/>
|
|
<param name="setsystemid" value="${args.xml.systemid.set}"/>
|
|
<param name="profiling.enable" value="${map.filter-on-parse}" unless:set="map.filter-on-parse"/>
|
|
<param name="generate-debug-attributes" value="${generate-debug-attributes}" if:set="generate-debug-attributes"/>
|
|
<param name="processing-mode" value="${processing-mode}" if:set="processing-mode"/>
|
|
<dita:extension id="dita.preprocess.map-reader.param" behavior="org.dita.dost.platform.InsertAction"/>
|
|
</module>
|
|
</pipeline>
|
|
<local name="inputMapPath"/>
|
|
<pathconvert property="inputMapPath">
|
|
<ditafileset format="ditamap" input="true"/>
|
|
</pathconvert>
|
|
<condition property="noMap">
|
|
<equals arg1="${inputMapPath}" arg2=""/>
|
|
</condition>
|
|
</target>
|
|
|
|
<target name="map-mapref"
|
|
unless="preprocess.mapref.skip"
|
|
description="Resolve mapref in ditamap">
|
|
<property name="dita.preprocess.reloadstylesheet.mapref" value="${dita.preprocess.reloadstylesheet}"/>
|
|
<dirname property="mapref.workdir" file="${dita.temp.dir}/${user.input.file}" />
|
|
<pipeline message="Resolve mapref in ditamap" taskname="mapref">
|
|
<module class="org.dita.dost.module.MaprefModule">
|
|
<param name="style" location="${dita.plugin.org.dita.base.dir}/xsl/preprocess/mapref.xsl"/>
|
|
<ditafileset format="ditamap" input="true"/>
|
|
<ditafileset format="ditamap" inputResource="true"/>
|
|
<dita:extension id="dita.preprocess.mapref.param" behavior="org.dita.dost.platform.InsertAction"/>
|
|
</module>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="map-branch-filter"
|
|
unless="preprocess.branch-filter.skip"
|
|
description="Resolve input map files branch filtering">
|
|
<pipeline taskname="branch-filter" message="Filter branches">
|
|
<module class="org.dita.dost.module.filter.MapBranchFilterModule"/>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="map-keyref"
|
|
unless="preprocess.keyref.skip"
|
|
description="Resolve input map files keyref">
|
|
<pipeline message="Resolve keyref." taskname="keyref">
|
|
<module class="org.dita.dost.module.KeyrefModule" parallel="${parallel}">
|
|
<ditafileset format="ditamap" input="true"/>
|
|
<ditafileset format="ditamap" inputResource="true"/>
|
|
<param name="transtype" value="${transtype}"/>
|
|
</module>
|
|
</pipeline>
|
|
<pipeline message="Resolve mapref in ditamap" taskname="mapref">
|
|
<module class="org.dita.dost.module.MaprefModule">
|
|
<param name="style" location="${dita.plugin.org.dita.base.dir}/xsl/preprocess/mapref.xsl"/>
|
|
<ditafileset format="ditamap" input="true"/>
|
|
<ditafileset format="ditamap" inputResource="true"/>
|
|
<dita:extension id="dita.preprocess.mapref.param" behavior="org.dita.dost.platform.InsertAction"/>
|
|
</module>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="map-conrefpush"
|
|
unless="preprocess.conrefpush.skip"
|
|
description="Resolve input map files conref push">
|
|
<pipeline message="Resolve conref push." taskname="conref-push">
|
|
<module class="org.dita.dost.module.ConrefPushModule">
|
|
<ditafileset format="ditamap" input="true"/>
|
|
<ditafileset format="ditamap" inputResource="true"/>
|
|
</module>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="map-conref"
|
|
unless="preprocess.conref.skip"
|
|
description="Resolve conref in input map files">
|
|
<property name="dita.preprocess.reloadstylesheet.conref" value="${dita.preprocess.reloadstylesheet}"/>
|
|
<makeurl property="exportfile.url" file="${dita.temp.dir}/export.xml" validate="false"/>
|
|
<pipeline message="Resolve conref in input files" taskname="conref">
|
|
<xslt basedir="${dita.temp.dir}"
|
|
reloadstylesheet="${dita.preprocess.reloadstylesheet.conref}"
|
|
style="${dita.plugin.org.dita.base.dir}/xsl/preprocess/map-conref.xsl"
|
|
filenameparameter="file-being-processed"
|
|
parallel="${parallel}">
|
|
<ditafileset format="ditamap" conref="true" input="true"/>
|
|
<ditafileset format="ditamap" conref="true" inputResource="true"/>
|
|
<param name="EXPORTFILE" expression="${exportfile.url}"/>
|
|
<param name="TRANSTYPE" expression="${transtype}"/>
|
|
<dita:extension id="dita.preprocess.conref.param" behavior="org.dita.dost.platform.InsertAction"/>
|
|
</xslt>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="map-profile" depends="map-profile-check"
|
|
unless="preprocess.map-profile.skip"
|
|
description="Profile input map files">
|
|
<pipeline message="Profile filtering." taskname="profile">
|
|
<module class="org.dita.dost.module.FilterModule">
|
|
<ditafileset format="ditamap" input="true"/>
|
|
<ditafileset format="ditamap" inputResource="true"/>
|
|
<param name="ditaval" location="${dita.input.valfile}" if:set="dita.input.valfile"/>
|
|
<param name="transtype" value="${transtype}"/>
|
|
</module>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="map-profile-check">
|
|
<condition property="preprocess.map-profile.skip">
|
|
<istrue value="${map.filter-on-parse}"/>
|
|
</condition>
|
|
</target>
|
|
|
|
<target name="topic-reader"
|
|
description="Generate file list">
|
|
<pipeline message="Generate topics" taskname="topic-reader"
|
|
inputmap="${args.input}">
|
|
<module class="org.dita.dost.module.reader.TopicReaderModule">
|
|
<param name="resources" value="${args.resources}" if:set="args.resources"/>
|
|
<param name="inputdir" location="${args.input.dir}" if:set="args.input.dir"/>
|
|
<param name="ditadir" location="${dita.dir}"/>
|
|
<param name="validate" value="${validate}"/>
|
|
<param name="generatecopyouter" value="${generate.copy.outer}"/>
|
|
<param name="outercontrol" value="${outer.control}"/>
|
|
<param name="onlytopicinmap" value="${onlytopic.in.map}"/>
|
|
<param name="crawl" value="${link-crawl}" if:set="link-crawl"/>
|
|
<param name="outputdir" location="${dita.output.dir}"/>
|
|
<param name="transtype" value="${transtype}"/>
|
|
<param name="gramcache" value="${args.grammar.cache}"/>
|
|
<param name="setsystemid" value="${args.xml.systemid.set}"/>
|
|
<param name="profiling.enable" value="${topic.filter-on-parse}" unless:set="topic.filter-on-parse"/>
|
|
<param name="generate-debug-attributes" value="${generate-debug-attributes}" if:set="generate-debug-attributes"/>
|
|
<param name="processing-mode" value="${processing-mode}" if:set="processing-mode"/>
|
|
<dita:extension id="dita.preprocess.topic-reader.param" behavior="org.dita.dost.platform.InsertAction"/>
|
|
</module>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="topic-branch-filter">
|
|
<pipeline taskname="branch-filter" message="Filter branches">
|
|
<module class="org.dita.dost.module.filter.TopicBranchFilterModule"/>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="topic-keyref"
|
|
unless="preprocess.keyref.skip"
|
|
description="Resolve keyref">
|
|
<pipeline message="Resolve keyref." taskname="keyref">
|
|
<module class="org.dita.dost.module.KeyrefModule" parallel="${parallel}">
|
|
<ditafileset format="dita"/>
|
|
<param name="transtype" value="${transtype}"/>
|
|
</module>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="topic-copy-to">
|
|
<pipeline message="Resolve copy-to." taskname="copy-to">
|
|
<module class="org.dita.dost.module.CopyToModule">
|
|
<param name="force-unique" value="${force-unique}" if:set="force-unique"/>
|
|
</module>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="topic-conrefpush"
|
|
unless="preprocess.conrefpush.skip"
|
|
description="Resolve conref push">
|
|
<pipeline message="Resolve conref push." taskname="conref-push">
|
|
<module class="org.dita.dost.module.ConrefPushModule">
|
|
<ditafileset format="dita"/>
|
|
<ditafileset format="ditamap"/>
|
|
</module>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="topic-conref"
|
|
unless="preprocess.conref.skip"
|
|
description="Resolve conref in input files">
|
|
<property name="dita.preprocess.reloadstylesheet.conref" value="${dita.preprocess.reloadstylesheet}"/>
|
|
<makeurl property="exportfile.url" file="${dita.temp.dir}/export.xml" validate="false"/>
|
|
<pipeline message="Resolve conref in input files" taskname="conref">
|
|
<xslt basedir="${dita.temp.dir}"
|
|
reloadstylesheet="${dita.preprocess.reloadstylesheet.conref}"
|
|
style="${dita.plugin.org.dita.base.dir}/xsl/preprocess/conref.xsl"
|
|
filenameparameter="file-being-processed"
|
|
parallel="${parallel}">
|
|
<ditafileset conref="true" format="dita"/>
|
|
<ditafileset conref="true" format="ditamap"/>
|
|
<param name="EXPORTFILE" expression="${exportfile.url}"/>
|
|
<param name="TRANSTYPE" expression="${transtype}"/>
|
|
<dita:extension id="dita.preprocess.conref.param" behavior="org.dita.dost.platform.InsertAction"/>
|
|
</xslt>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="topic-profile" depends="topic-profile-check"
|
|
unless="preprocess.topic-profile.skip"
|
|
description="Profile input files">
|
|
<pipeline message="Profile filtering." taskname="profile">
|
|
<module class="org.dita.dost.module.FilterModule">
|
|
<ditafileset format="dita"/>
|
|
<param name="ditaval" location="${dita.input.valfile}" if:set="dita.input.valfile"/>
|
|
<param name="transtype" value="${transtype}"/>
|
|
</module>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="topic-profile-check">
|
|
<condition property="preprocess.topic-profile.skip">
|
|
<istrue value="${topic.filter-on-parse}"/>
|
|
</condition>
|
|
</target>
|
|
|
|
<target name="preprocess2.topic-fragment"
|
|
description="Normalize same topic fragment identifiers and table column names, and resolve coderef">
|
|
<pipeline message="Resolve topic fragment." taskname="preprocess2.topic-fragment">
|
|
<sax parallel="${parallel}">
|
|
<ditafileset format="dita"/>
|
|
<filter class="org.dita.dost.writer.TopicFragmentFilter">
|
|
<param name="attributes" value="href"/>
|
|
</filter>
|
|
<filter class="org.dita.dost.writer.NormalizeTableFilter">
|
|
<param name="processing-mode" value="${processing-mode}" if:set="processing-mode"/>
|
|
</filter>
|
|
<filter class="org.dita.dost.writer.NormalizeSimpleTableFilter"/>
|
|
<filter class="org.dita.dost.writer.CoderefResolver" unless:set="preprocess.coderef.skip"/>
|
|
<filter class="org.dita.dost.writer.NormalizeCodeblock" unless:set="preprocess.normalize-codeblock.skip"/>
|
|
</sax>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="topic-chunk"
|
|
unless="preprocess.chunk.skip"
|
|
description="Process chunks">
|
|
<pipeline message="Process chunks." taskname="chunk">
|
|
<module class="org.dita.dost.module.ChunkModule">
|
|
<param name="transtype" value="${transtype}"/>
|
|
<param name="root-chunk-override" value="${root-chunk-override}" if:set="root-chunk-override"/>
|
|
</module>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="topic-move-meta-entries"
|
|
unless="preprocess.move-meta-entries.skip"
|
|
description="Move metadata entries">
|
|
<pipeline message="Move metadata entries." taskname="move-meta">
|
|
<module class="org.dita.dost.module.MoveMetaModule">
|
|
<param name="style" location="${dita.plugin.org.dita.base.dir}/xsl/preprocess/mappull.xsl"/>
|
|
<param name="conserve-memory" expression="${conserve-memory}" if:set="conserve-memory"/>
|
|
<dita:extension id="dita.preprocess.mappull.param" behavior="org.dita.dost.platform.InsertAction"/>
|
|
</module>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="topic-maplink"
|
|
unless="preprocess.maplink.skip"
|
|
description="Find and generate related link information">
|
|
<property name="dita.preprocess.reloadstylesheet.maplink" value="${dita.preprocess.reloadstylesheet}"/>
|
|
<pipeline message="Move related links" taskname="maplink">
|
|
<module class="org.dita.dost.module.MoveLinksModule">
|
|
<param name="style" location="${dita.plugin.org.dita.base.dir}/xsl/preprocess/maplink.xsl"/>
|
|
<param name="include.rellinks" expression="${include.rellinks}" if:set="include.rellinks"/>
|
|
</module>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="topic-topicpull"
|
|
unless="preprocess.topicpull.skip"
|
|
description="Pull metadata for link and xref element">
|
|
<property name="dita.preprocess.reloadstylesheet.topicpull" value="${dita.preprocess.reloadstylesheet}"/>
|
|
<pipeline message="Pull metadata for link and xref element" taskname="topicpull">
|
|
<xslt basedir="${dita.temp.dir}"
|
|
reloadstylesheet="${dita.preprocess.reloadstylesheet.topicpull}"
|
|
style="${dita.plugin.org.dita.base.dir}/xsl/preprocess/topicpull.xsl"
|
|
parallel="${parallel}">
|
|
<ditafileset format="dita" processingRole="normal"/>
|
|
<param name="TABLELINK" expression="${args.tablelink.style}" if:set="args.tablelink.style" />
|
|
<param name="FIGURELINK" expression="${args.figurelink.style}" if:set="args.figurelink.style" />
|
|
<param name="ONLYTOPICINMAP" expression="${onlytopic.in.map}" if:set="onlytopic.in.map"/>
|
|
<param name="defaultLanguage" expression="${default.language}"/>
|
|
<dita:extension id="dita.preprocess.topicpull.param" behavior="org.dita.dost.platform.InsertAction"/>
|
|
</xslt>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="map-clean-map"
|
|
unless="preprocess.clean-map-check.skip"
|
|
description="Clean ditamap">
|
|
<property name="dita.preprocess.reloadstylesheet.clean-map" value="${dita.preprocess.reloadstylesheet}"/>
|
|
<pipeline message="Clean ditamap" taskname="clean-map">
|
|
<xslt basedir="${dita.temp.dir}"
|
|
reloadstylesheet="${dita.preprocess.reloadstylesheet.clean-map}"
|
|
style="${dita.plugin.org.dita.base.dir}/xsl/preprocess/clean-map.xsl">
|
|
<ditafileset format="ditamap"/>
|
|
<xmlcatalog refid="dita.catalog"/>
|
|
</xslt>
|
|
</pipeline>
|
|
</target>
|
|
|
|
<target name="copy-files2" description="Copy files to the output directory"
|
|
depends="copy-image2,copy-html,copy-flag"
|
|
unless="preprocess.copy-files.skip" />
|
|
|
|
<target name="copy-image2"
|
|
unless="preprocess.copy-image.skip"
|
|
description="Copy image files">
|
|
<copy todir="${dita.output.dir}" failonerror="false" overwrite="true">
|
|
<ditafileset format="image" />
|
|
<jobmapper/>
|
|
</copy>
|
|
</target>
|
|
|
|
</project>
|