DITA-OT 2.4 includes Apache FOP 2.1,
a new long-form syntax for dita command options, and additional code referencing
Apache FOP 2.1
DITA-OT 2.4 bundles the latest version of Apache™ FOP (Formatting Objects Processor).
FOP 2.1 builds on the OpenType CFF font support added in FOP 2.0, with additional
font support and enhancements for PDF accessibility, including PDF/UA (PDF/Universal Accessibility) and
For details on recent changes in FOP, see the Release Notes for versions
To conserve memory, accessible PDF output is disabled by default in FOP 2.1. To generate accessible PDFs
from DITA-OT, set the args.fo.userconfig parameter and include the
<accessibility>true</accessibility> option in your custom FOP configuration
For more information, see
Apache FOP Accessibility.
New long-form syntax for dita command options
All dita command options can now be specified with a GNU-style option keyword preceded by
two hyphens. For example:
dita --input=userguide.ditamap --format=html5
DITA-OT parameters can now be passed to the dita command with this same syntax:
When set with this method, properties are validated against the toolkit’s plug-in configuration. An error
message appears if a property is not recognized or if an enumerated property value is invalid.
Attention: Unix-style single-letter options (preceded by a single hyphen) are also available in
some cases for backwards compatibility. The X-Toolkit–style single-hyphen keyword variants supported by
previous releases (such as -input) have been deprecated and may be removed in an
Extended code reference processing
DITA-OT 2.4 provides additional support for extracting a range of lines from code
references based on the content of the target file. Instead of specifying line numbers, you can now also
select lines to include in the code reference by specifying keywords (or “tokens”) that appear in
the referenced file.
DITA-OT supports the
token pointer in the URI fragment to extract a line range based on the
file content. The format for referencing a range of lines by content is:
uri ("#token=" start? ("," end)? )?
Lines identified using start and end tokens are exclusive: the lines that contain the start token and end
token will be not be included. If the start token is omitted, the range starts from the first line in the
file; if the end token is omitted, the range ends on the last line of the file.
Tip: This approach can be used to reference code samples that are
frequently edited. In these cases, referencing line ranges by line number can be error-prone, as the target line
range for the reference may shift if preceding lines are added or removed. Specifying ranges by line content
makes references more robust, as long as the
token keywords are preserved when the referenced
resource is modified.
For more information, see
Extended code reference processing.
Standalone HTML5 plug-in
The HTML5 transformation introduced in release 2.0 as part of the XHTML
plug-in was moved to a separate HTML5 plug-in in release 2.2, but that version of the
HTML5 transformation still depended on the XHTML plug-in for certain
In release 2.4, all dependencies between HTML5 and XHTML have been
removed to ensure that HTML5 processing can be further refactored in the future without affecting XHTML
output, or other HTML-based transformations such as eclipsehelp,
htmlhelp or javahelp.
Legacy plug-ins removed
DITA-OT 2.4 no longer includes the following legacy transformation plug-ins in the default distribution:
Note: If necessary, legacy plug-ins may be re-installed from earlier DITA-OT distributions, but they are no longer
actively maintained or supported by the core toolkit committers. The source code is available on GitHub for
anyone interested in maintaining the plug-ins for use with future toolkit versions.