How can I avoid reinstalling DITA-OT plugins when XSLT files in the plugin are changed? #4203
-
My company has a DITA-OT plugin that binds multiple XSLT stylesheet files to various DITA-OT extension points: This DITA-OT plugin is kept in our Git repository, and our DITA-OT installation references them directly from our Git repository using filesystem links. If we add, remove, or rename any of these XSLT files, we must reinstall the DITA-OT plugins after pulling the updates. This is especially problematic when switching between different Git branches that have differences in their XSLT file structures. Is there a way to avoid having to reinstall plugins when the XSLT files change? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
When you run the For many types of extension points (such as for strings and messages), plugin reinstallation is needed if the contents of a Thus, you can restructure your plugin to have a single top-level XSLT file for each extension point, whose only purpose is to include the other XSLT files used by the plugin: When this structure is used, there is no need for DITA-OT plugin reinstallation if any submodule XSLT files are added, changed, or removed. The inclusions in each top-level file can change as needed, but the |
Beta Was this translation helpful? Give feedback.
When you run the
dita install
command, the DITA-OT rebuilds some internal information based on the<feature>
file references. When<feature>
file references are added, removed, or changed—even for a plugin that is already installed—then plugins must be reinstalled.For many types of extension points (such as for strings and messages), plugin reinstallation is needed if the contents of a
<feature>
-referenced file change. However, this is not true for XSLT files, because their contents are imported via<xsl:import>
instead of copied. As a result, plugin reinstallation is needed only if the XSLT file names are added/removed/changed, but not if their contents are changed.Thus, you can restru…