Migrating to release 3.5
DITA-OT 3.5 includes support for additional input resources, an alternative subcommand syntax for the dita
command, and an initial preview of features for the latest draft of the upcoming DITA 2.0 standard.
Note: This topic provides a summary of changes in DITA-OT 3.5 that may require modifications to custom stylesheets or plug-ins. For more information on changes in this release, see the DITA-OT 3.5 Release Notes.
New subcommands
The dita
command line interface has been refactored to support subcommands for common operations.
Important: The new subcommands supersede the deprecated X-Toolkit–style single-hyphen keyword variants (such as -install), and the corresponding GNU-style option keywords preceded by two hyphens (such as --install).
-
dita install
Installs or reloads plug-ins (replaces
dita
--install) -
dita plugins
Prints a list of installed plug-ins (replaces
dita
--plugins) -
dita transtypes
Prints a list of installed transformation types, or output formats (replaces
dita
--transtypes) -
dita uninstall
Removes and deletes a plug-in (replaces
dita
--uninstall) -
dita version
Prints version information and exits (replaces
dita
--version)
Tip: The double-hyphen option syntax has been retained for backwards compatibility, so if you use commands like dita
--install in scripts, they will still work, but you may want to migrate your scripts to the new subcommand syntax.
Legacy constructs removed
DITA-OT 3.5 no longer includes the following legacy properties, list files, and targets, which were deprecated in previous releases. These constructs were no longer used in recent releases, and have now been removed entirely.
The following Ant targets have been removed from the pre-processing pipeline:
mappull
andmappull-check
, which were used to pull metadata (such as navtitle) into the map from referenced topics prior to DITA-OT 2.2 (merged withmove-meta-entries
)conref-check
, deprecated since 2.3coderef
, which was used to resolve code references in input files prior to 2.3 (merged withtopic-fragment
)copy-subsidiary
andcopy-subsidiary-check
, which were used to copy files to the temporary directory prior to 2.1
Recent DITA-OT versions provide alternative mechanisms to achieve the same results, such as the <ditafileset>
element to select resources in the temporary directory.
Along with the obsolete targets, the following Ant properties have been removed:
canditopicsfile
canditopicslist
conreffile
conreflist
conreftargetsfile
conreftargetslist
copytosourcefile
copytosourcelist
fullditamapandtopicfile
fullditamapandtopiclist
fullditamapfile
fullditamaplist
fullditatopicfile
fullditatopiclist
hrefditatopicfile
hrefditatopiclist
hreftargetsfile
hreftargetslist
htmlfile
htmllist
imagefile
imagelist
outditafilesfile
outditafileslist
resourceonlyfile
resourceonlylist
subjectschemefile
subjectschemelist
subtargetsfile
subtargetslist
user.input.file.listfile
user.input.file
The following obsolete list files are no longer generated in the temporary directory:
canditopics.list
conref.list
conreftargets.list
copytosource.list
fullditamap.list
fullditamapandtopic.list
fullditatopic.list
hrefditatopic.list
hreftargets.list
html.list
image.list
outditafiles.list
resourceonly.list
subjectscheme.list
subtargets.list
user.input.file.list
usr.input.file.list
For example, if your plug-in previously used the fullditatopicfile
to select resources in the temporary directory like this:
<xslt basedir="${dita.temp.dir}"
destdir="${output.dir}"
includesfile="${dita.temp.dir}${file.separator}${fullditatopicfile}"
style="${args.xsl}">
[...]
</xslt>
With DITA-OT 2.4 or newer, use the <ditafileset>
element instead:
<xslt basedir="${dita.temp.dir}"
destdir="${output.dir}"
style="${args.xsl}">
<ditafileset format="dita" processingRole="normal"/>
[...]
</xslt>
If your plug-in previously used the user.input.file.listfile
to process the start map like this:
<xslt [...]
includesfile="${dita.temp.dir}${file.separator}${user.input.file.listfile}"/>
Use the <ditafileset>
element as follows:
<xslt [...] >
<ditafileset input="true" format="ditamap"/>
</xslt>
Adjusting output file names
Two new parameters can be used to dynamically adjust the names and locations of output files in transformations that use the map-first pre-processing routine (preprocess2
).
These parameters can be passed on the command line, or included in a custom plug-in via <property>
elements in an Ant script as described in Adjusting file names in map-first pre-processing.
- Use result.rewrite-rule.class to rewrite filenames with a Java class that implements the
org.dita.dost.module.RewriteRule
interface - Use result.rewrite-rule.xsl to rewrite via an XSLT stylesheet