Edit online

Useful DITA OT Plugins

Read time: 5 minute(s)

The DITA Open Toolkit is the most commonly used engine for publishing DITA content to various output formats. It has a plugin-based architecture and it comes bundled by default with plugins for publishing to XHTML-based and PDF formats. There are other useful open-source plugins that can be installed in the DITA Open Toolkit and provide various publishing or reporting capabilities. Below is a list of my favorite open source plugins, many of which are bundled by default with Oxygen XML Editor:

DITA to MS Word

This very useful plugin developed by Jarno Elovirta (the main DITA OT developer) can be used to publish DITA to MS Word (OOXML): https://github.com/jelovirt/com.elovirta.ooxml. The plugin is robust and can handle large DITA projects.

Convert MS Word to DITA

The DITA For Publishers project developed by Eliot Kimber contains a plugin that can convert MS Word (OOXML) documents to DITA topics: http://www.dita4publishers.org/d4p-users-guide/user_docs/d4p-users-guide/word2dita/word-to-dita-plugin.html. Useful advice and other ways to migrate from MS Word to DITA can be found here: How to Migrate from Word to DITA.


The DITA For Publishers project developed by Eliot Kimber contains a plugin that can convert DITA content to EPUB3: http://www.dita4publishers.org/d4p-users-guide/user_docs/d4p-users-guide/epub-plugin/generating-epubs.html. There are also plugins that can take the EPUB3 output and generate Kindle or Mobi formats.

Use Markdown content directly in DITA Maps

This plugin developed by Jarno Elovirta can be used to publish hybrid DITA projects containing both DITA and Markdown topics to any output format: https://github.com/jelovirt/dita-ot-markdown.

Embed video and audio resources in DITA topics

This handy little plugin developed by Oxygen allows you to embed audio, video, or YouTube resources in DITA topics and properly display the embedded content in the XHTML-based outputs: https://github.com/oxygenxml/dita-media-support.

Publish RelaxNG-based DITA topics

RelaxNG is the default schema type in which the DITA vocabulary is described by the specification developers. But the DITA Open Toolkit does not allow publishing RNG-based DITA content by default. Installing this plugin developed by Oxygen will make this possible: https://github.com/oxygenxml/dita-relaxng-defaults.

Present Oxygen track changes in the PDF output

This useful plugin developed by Oxygen allows you to preserve Oxygen change tracking highlights in the PDF output: https://github.com/oxygenxml/dita-classic-pdf-review.

Publish DITA to PDF using CSS

The difficult thing about the default PDF output is the customization that involves modifying XSLT scripts and requiring knowledge of both XSLT and XSL-FO. This plugin developed by Oxygen allows you to use CSS to customize the PDF obtained from DITA content: https://github.com/oxygenxml/dita-css. The plugin needs a commercial license of RenderX XEP or Antenna House in order to produce the PDF: https://www.oxygenxml.com/doc/ug-editor/topics/ditamap-pdf-css-html5-2.html. But for Oxygen XML Editor 19, we are actively working on a PDF CSS engine (called Chemistry) that will allow the plugin to work from Oxygen without any additional licenses: http://archive.xmlprague.cz/2017/files/presentations/css2pdf-xslfo.pdf.

A list with all open-source DITA OT plugins developed and shared by Oxygen XML Editor can be found on GitHub: https://github.com/search?q=topic%3Adita-ot-plugin+org%3Aoxygenxml&type=Repositories. My DITA OT Day 2016 presentation covers most of these: https://www.oxygenxml.com/events/2016/dita-ot_day.html#Seven_Open-Source_DITA-OT_plugins.