The configuration.properties file

The configuration.properties file controls certain common properties, as well as some properties that control PDF processing.

The contents of the config/configuration.properties file are added to the DITA-OT configuration in the dost-configuration.jar file when the plug-in integration process runs. The following properties are typically set in this file:

compatibility.keyref.treat-blank-as-empty

When set to true, this property enables a compatibility mode that processes key references that contain only whitespace characters like earlier versions of DITA-OT (prior to version 4.2.4). This behavior is not correct according to the DITA specification, but this setting ensures that existing content that relies on this behavior will be processed in the same way as in earlier versions. Set this property to false to skip these references as intended in the DITA specification.

Warning:
This property can only be set in configuration.properties.
default.cascade

Specifies the processing default value for the DITA 1.3 @cascade attribute, which determines how map-level metadata attributes are applied to the children of elements where the attributes are specified. DITA-OT uses the merge value by default for backwards compatibility with DITA 1.2 and earlier.

Warning:
This property can only be set in configuration.properties and should not be modified.
temp-file-name-scheme

This setting specifies the name of the Java class that defines how the source URL of a topic is mapped to the URL of the temporary file name. The current default method uses a 1:1 mapping, though future implementations may use alternative approaches such as hashes or full absolute paths as file names.

Warning:
This property can only be set in configuration.properties and should not be modified.
filter-attributes

Specifies additional attributes to be used for filtering, in addition to those defined in the DITA specification. The value is a comma-separated list of attribute QNames in Clark notation.

For example, to permit filtering by @importance and @status attributes, set:

filter-attributes = importance, status
flag-attributes

Specifies additional attributes to be used for flagging, in addition to those defined in the DITA specification. The value is a comma-separated list of attribute QNames in Clark notation.

For example, to enable flagging based on a custom @cms:review attribute, set:

flag-attributes = {http://www.cms.com/}review

With this setting, a DITAVAL file could be used to flag content marked as new with a purple background:

<val xmlns:cms="http://www.cms.com/">
  <prop action="flag" att="cms:review" val="new" backcolor="purple"/>
</val>
cli.color

Specifies whether the dita command prints colored output on the command line console. When set to true, error messages in dita command output will appear in red on terminals that support ANSI escape codes, such as on Linux or macOS. Set to false to disable the color. (Colored output is not supported on Windows consoles such as cmd.exe or PowerShell).

default.coderef-charset

Specifies the default character set for code references.

plugindirs

A semicolon-separated list of directory paths that DITA-OT searches for plug-ins to install; any relative paths are resolved against the DITA-OT base directory. Any immediate subdirectory that contains a plugin.xml file is installed.

Tip:
You can use this property to test custom plug-ins that are stored in other locations. For example, to install all of the sample plug-ins that are included in the DITA-OT documentation, append ;docsrc/samples/plugins to the property value and run dita --install. You can maintain custom plug-ins in version-controlled repositories outside of the DITA-OT installation directory, and add the repository locations to the list of plug-in directories here to test your code.
plugin.ignores
A semicolon-separated list of directory names to be ignored during plug-in installation; any relative paths are resolved against the DITA-OT base directory.
plugin.order
Defines the order in which plug-ins are processed. In XML catalog files, the order of imports is significant. If multiple plug-ins define the same thing (differently), the first catalog entry โ€œwinsโ€. DITA-OT uses this property to define the order in which catalog entries are written. This mechanism is currently used to ensure that DITA 1.3 grammar files take precedence over their DITA 1.2 equivalents.
registry
Defines the list (and order) of plug-in repositories that are searched for available plug-ins during the installation process. In addition to the main plug-in registry at dita-ot.org/plugins, you can create a registry of your own to store the custom plug-ins for your company or organization. To add a new entry, append the URL for your custom registry directory to the registry key value, separating each entry with a space. For more information, see Adding plug-ins via the registry.
org.dita.pdf2.i18n.enabled

Enables internationalization (I18N) font processing to provide per-character font selection for FO renderers that do not support the font-selection-strategy property (such as Apache FOP prior to version 2.9).

When this feature is enabled, DITA-OT uses a font mapping process that takes the content language into consideration. The mapping process uses configuration files for each language to define characters that should be rendered with certain logical fonts, and font mappings that associate each logical font to physical font files.

The following values are allowed:

  • true (default) โ€” Enables font mapping
  • false โ€” Disables font mapping
Tip:
DITA-OT 4.2 includes FOP 2.9, which supports font-selection-strategy. As of this version (or if you donโ€™t use custom character mappings), you can turn off font mapping and specify fonts directly in the XSL attributes files of your custom PDF plug-in. For background information, see Font configuration in PDF2.
default.coderef-charset
As of DITA-OT 3.3, the default character set for code references can be changed by specifying one of the character set values supported by the Java Charset class.