Wednesday, September 10, 2014

Cool Stuff to Look for in future DITA publishing

Share to Facebook Share to Twitter Email This Share on Google Plus Share on Tumblr

First of all a big thank you to all you Oxygen XML users who have been from the very beginning the driving force behind many of the improvements we have added into the application.

In my opinion of all the people who try an application for the first time only a few of them will ever bother to write to the application's producers and give feedback about things which do not properly work. Most of them probably suffer in silence and maybe end up abandoning the application alltogether. So feedback received from people using a trial license of Oxygen and who still bother to report a problem instead of giving up is quite valuable and we are grateful for it.

We have many Oxygen DITA users and this leads to many requests to improve the DITA Open Toolkit publishing. Our policy so far has been to contribute these improvement suggestions back to the DITA Open Toolkit so that they benefit others as well. Also we should all be grateful to Jarno Elovirta, the main DITA OT contributor, guru and developer who makes all of this possible for all of us.

So here are some of the DITA publishing improvements I'm looking forward to see in the future:
  1. The Oxygen team is actively working on a DITA Open Toolkit plugin which will use CSS to render PDF output from DITA content. The plugin could be used with commercial rendering engines like Prince XML and Antenna House which support obtaining PDF from XML and CSS. Initially the plugin will provide support only for the Prince XML engine This would mean that most PDF customizations which are currently being done using XSLT could instead be done via CSS styling which is far easier for users who are not experienced XSLT developers. I will present the general architecture of the plugin on the DITA OT Day in Munich this year. And if it proves to be succesfull we are willing to make this plugin available as an open source project or part of a future DITA OT distribution. Oxygen 16.1 which will be released in a few weeks will have an experimental version of the plugin included with its bundled DITA Open Toolkit.
  2. DITA Open Toolkit 2.0 will probably generate HTML 5 compatible output by default.
  3. DITA Open Toolkit 2.0 will generate the Index page for PDF output even when using the Apache FOP processor. The changes are already incorporated in the DITA OT distribution which comes with Oxygen, you can also incorportate them quite easily in your DITA OT by modifying an XSLT stylesheet:
  4. Using the DITA Open Toolkit 2.0 you will also be able to pass profiling attributes and values from the DITA content to the generated HTML content: This means that instead of profiling the content before it is published, you will be able to profile it at publishing time by using Javascript to show/hide parts of the content depending on the user role for example.
  5. Besides lots of bug fixes Jarno Elovirta made lots of memory and processor optimizations which also will be included in the next DITA Open Toolkit 2.0 release.

I'm also looking forward for the support for the DITA 1.3 specification which will slowly begin to be implemented in future DITA Open Toolkit releases.

So what are your ideas for future DITA OT publishing enhancements?


  1. Anonymous5:45 PM

    Great read. I'm very excited for the official release and integration of DITA-OT 2.0. Thank you to Jarno and all contributors for making 2.0 so exciting! Coupled with oXygen, support for DITA 1.3 should be phenomenal.

    "So what are your ideas for future DITA OT publishing enhancements?"

    I'd love to see that "[ability] to pass profiling attributes and values from the DITA content to the generated HTML..." be taken advantage of in oXygen to allow faceted browsing / faceted search right out-of-the-box.

  2. I'm looking forward to see the DITA OT plugin for PDF rendering from HTML/CSS.

    At NXP, we are doing the final testing before rolling out our PDFs generated with Antenna House from an intermediate HTML/CSS source (DITA -> HTML -> PDF).

    The main piece of work was to combine the merged content output from the topicmerge step of the pdf2 plugin with the traditional dita2html stylesheets. It was complicated because the dita2html stylesheets were designed to process the content file by file, while this time we process all the content merged in one file.

    So... curious to see what it looks like! Hopefully it will be made available for reuse to the community very soon.

    1. Sure Colin,

      We took the approach to duplicate and use the stages of the PDF2 publishing until the merged XML file is obtained and then to apply to it a custom CSS containing styles for all DITA elements (which we also use to render content in the Author visual editing mode) to publish with Prince XML.
      So we did not go all the way to HTML.
      We did not yet have time to see what CSS extensions Antenna House has for PDF output from XML+CSS but we'll try to look into it.

    2. Anonymous5:42 PM

      (I'm not familiar about the current PDF2 plugin.)
      So, you do not produce HTML at all? If we are currently write CSS for the WebHelp output and the plain HTML output, can't we reuse it for your upcoming CSS PDF plugin?

    3. Hi Radu,

      Thanks for the detailed reply! You already have a lot of CSS to style DITA since you needed it for the Author view in Oxygen. It makes sense!

      However, the structure of the merged DITA might miss certain elements that structure an HTML page. I can't figure out how elements such as header, footer and other static content you might want to add and that is neither in the source DITA nor in the topicmerge.xsl would be added.

      An extra XSLT step would add this HTML around the DITA.

      I guess I'll just wait for the plugin to be ready and see how you managed. See you in Munich!

  3. Any idea when Oxygen will start shipping with DITA Open Toolkit 2.0 bundled?

    1. Hi John,

      In what publishing output are you mostly interested?
      And what DITA OT 2.0 are you looking for?

      Oxygen 17 (which we plan to release in April-May this year) will probably not come bundled with DITA OT 2.0.
      But it will be DITA OT 2.0 ready, you will just need to download it from:

      and change a special Oxygen 17 setting to point to the external DITA OT installation.

      The WebHelp plugin we are developing will also be DITA OT 2.0 compliant.

      You can also use older versions of Oxygen to publish with DITA OT 2.0, you just need to make slight changes to the libraries list.


    2. Hi Radu,

      We are developing a plugin for a client based on the DITA OT 2.0 PDF output.

      The plug-in is not originally developed for Oxygen, but the client does use Oxygen 15 and 16 and wishes to be able to deploy the same plugin across all their DITA environments. From you answer I understand it will be possible to do so.


    3. Hi John,

      Oxygen does not force the publishing to be done only with its bundled DITA OT.
      A transformation scenario in Oxygen can be edited and its "dita.dir" parameter set to use an external DITA OT distribution.
      So users could have an external DITA OT 2.0 installation and point their transformation scenario which outputs PDF to use it. This can also be done with the any Oxygen version, you need small changes to the libraries path for the modified scenario.


  4. Hi Radu,

    Is it also possible/allowed to simply replace the folder "org.dita.pdf2" in the oXygenXML 15/16 installation by the one from the distribution package "" or need there to be done more?

    Regards, Rob

    1. Hi Rob,

      A new DITA OT version has lots of changes, for example maybe the XSLT stylesheets from its "org.dita.pdf2" plugin call templates which are not defined in an older DITA OT distribution.
      You need to use the entire DITA OT 2.0 installation to be used from the transformation scenario in order to publish DITA content to PDF using DITA OT 2.0. Something like: