menu
XMLmind DITA Converter
|Convert icons
Convert to PDF iconConvert to RTF (Word 2000+) iconConvert to WordprocessingML (Word 2003+) iconConvert to Office Open XML (.docx, Word 2007+) iconConvert to OpenDocument (.odt, OpenOffice/LibreOffice 2+) icon
FAQ

Change history

3.16.1 (December 9, 2025)

Enhancements:

  • Upgraded XMLmind Web Help Compiler (whc for short) to version 3.6, which features several minor enhancements, mostly related to the Index panel.
  • Added message translations to zh (Chinese), thanks to a contribution made by Ray Technologies.

3.16 (November 4, 2024)

Enhancements:

  • In order to include topics belonging only to group A in something like:
    <topicref href="topic-for-group-A.dita" audience="group(A)"/>
    <topicref href="topic-for-group-B.dita" audience="group(B)"/>
    <topicref href="topic-for-group-C.dita" audience="group(C)"/>

    one could use the following DITAVAL, as documented in "Darwin Information Typing Architecture (DITA) Version 1.3 Part 2: Technical Content Edition, 2.4.3.2 Filtering":

    <val>
      <prop action="exclude" att="audience" val="group"/>
      <prop action="include" att="group" val="A"/>
    </val>

    but not this alternative DITAVAL (which had no effect):

    <val>
      <prop action="exclude" att="group"/>
      <prop action="include" att="group" val="A"/>
    </val>

    Ditac now supports both the above specifications.

  • Updated message translations to nn (Norwegian Nynorsk) and nb (Norwegian Bokmål), thanks to a contribution made by Leif Halvard Silli.
  • XMLmind DITA Converter, which passed all non-regression tests, is now officially supported on Java™ 23 platforms.
  • Distribution ditac-N_N_N-plus-fop.zip now contains Apache FOP 2.10 (including hyphenation and MathML support). This XSL-FO processor is automatically declared and thus, ready to be used to generate PDF or PostScript.

Bug fixes:

  • EPUB output format: the custom CSS file specified using low-level XSLT stylesheets parameter css was not declared in the EPUB manifest causing all EPUB files created using XMLmind XML Editor (which uses this css parameter) to be rendered without any style by Apple Books®.

3.15.2 (August 19, 2024)

Enhancements:

Bug fixes:

  • The font stacks found in various stock CSS stylesheets were somewhat outdated.

3.15.1 (June 5, 2024)

Enhancements:

  • XMLmind DITA Converter, which passed all non-regression tests, is now officially supported on Java™ 22 platforms.

Bug fixes:

  • Regression. When using distribution ditac-N_N_N-plus-fop.zip containing a bundled Apache FOP, a -foconverter option invoking possibly another version of FOP, possibly with different FOP options, was ignored. It was the built-in command invoking bundled FOP which was always used to convert a DITA document to PDF.

3.15 (January 31, 2024)

Enhancements:

  • New -fopconf configuration_file command-line option lets you specify the location of an Apache FOP configuration file. Ignored unless option -fop is also specified.
  • New -ahfconf configuration_file command-line option lets you specify the location of an Antenna House Formatter configuration file. Ignored unless option -ahf is also specified.
  • Upgraded Saxon to version 12.4.
  • Upgraded XMLResolver to version 5.2.3.
  • XMLmind DITA Converter, which passed all non-regression tests, is now officially supported on Java™ 21 platforms.

3.14.1 (September 18, 2023)

Enhancements:

  • Upgraded XMLmind Web Help Compiler (whc for short) to version 3.5.1.
  • Upgraded Saxon to version 11.6.
  • Upgraded XMLResolver to version 5.2.1.
  • The mathjax-url XSLT stylesheet parameter now points to latest 3.x version of the MathJax mml-chtml component.
  • Distribution ditac-N_N_N-plus-fop.zip now contains Apache FOP 2.9 (including hyphenation and MathML support). This XSL-FO processor is automatically declared and thus, ready to be used to generate PDF or PostScript.

3.14 (June 12, 2023)

Enhancements:

  • Added a add-copiable-links parameter which makes it easy copying links to chapters, sections, tables, figures, etc, in order to share them with others. For example, send by email a link to a chapter found in the generated Web Help.
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 3.5.0, which supports the new corporate layout in addition to the classic and simple layouts.
  • Upgraded XMLResolver to version 5.2.0.

3.13.1 (April 20, 2023)

Enhancements:

  • Upgraded XMLResolver to version 5.1.2.
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 3.4.1.
  • XMLmind DITA Converter, which passed all non-regression tests, is now officially supported on Java™ 20 platforms.

3.13 (March 8, 2023)

Enhancements:

  • Some topicrefs do not point to any topic and essentially consist in a title (navtitle attribute or topicmeta/navtitle element). For example (part and chapter are topicrefs):
    <part>
      <topicmeta>
        <navtitle>User guide</navtitle>
        <shortdesc>Everything you need to know about Gizmo.</shortdesc>
      </topicmeta>
      <chapter href="intro.dita"/>
      ...
    </part>

    When converting a map containing such topicrefs to other formats, previous versions of ditac used to just consider the title of the topicref and to ignore any other topicmeta. Now the topicmeta/shortdesc content, if any, also appears in the output.

  • Upgraded Saxon to version 11.5.
  • Upgraded XMLResolver to version 5.1.1.
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 3.4.0.

Bug fixes:

  • Embedding images in a DITA file using "data:" URLs (e.g. <image href="data:image/svg+xml;base64,PD94b...ZnPgo="/>) somewhat worked but:
    • ditac reported a false "invalid value for attribute href" error when the -validate command-line option was used.
    • Resizing such images using the image/@scale attribute caused ditac to report a "Cannot determine the size of image 'data:image/...+Cg==': unknown protocol: data" error and such images were not scaled.

3.12 (December 5, 2022)

Enhancements:

  • Upgraded Saxon to version 11.4. Doing this required replacing the Apache Commons Resolver (lib/resolver.jar) by the XMLResolver (lib/xmlresolver.jar).
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 3.3.4.
  • Distribution ditac-N_N_N-plus-fop.zip now contains Apache FOP 2.8 (including hyphenation and MathML support). This XSL-FO processor is automatically declared and thus, ready to be used to generate PDF or PostScript.
  • XMLmind DITA Converter, which passed all non-regression tests, is now officially supported on Java™ 19 platforms.

3.11.2 (September 19, 2022)

Enhancements:

Bug fixes:

  • XMLmind DITA Converter had problems processing topicrefs pointing to URLs having a query component.
  • The figgroup element was silently ignored by the XSL stylesheets. This element is now processed in a similar way to the div element.

3.11.1 (August 2, 2022)

Upgraded XMLmind Web Help Compiler (whc for short) to version 3.3.2 which adds ARIA roles to some of the HTML elements generated by the classic and the simple layouts.


3.11 (May 31, 2022)

Bug fixes: many thanks to Jirka Kosek for reporting the following issues:

  • The numbering of the step child elements of a steps was incorrect when stepsections were found between some of the steps. This bug affected all output formats but the PDF output format.
  • XMLmind DITA Converter was not robust enough to cope with slightly invalid bookmaps like the following one:
    <bookmap>
      <title>Test</title>
    
      <frontmatter>
        <topicref href="topics/notices.dita"/>
        <booklists>
          <toc/>
        </booklists>
      </frontmatter>
    
      <!-- Invalid. Should be either a chapter or 
           a topicref found inside frontmatter. -->
      <topicref href="topics/chapterA.dita"/>
    
      <chapter href="topics/chapterB.dita"/>
      <chapter href="topics/chapterC.dita"/>
    </bookmap>

    It failed with XSLT error "A sequence of more than one item is not allowed as the first operand of 'ge'" when attempting to convert the above bookmap to any of the XSL-FO based output formats (e.g. PDF).


3.10.1 (April 14, 2022)

Enhancements:

  • Upgraded XMLmind Web Help Compiler (whc for short) to version 3.3.1.
  • Upgraded Saxon to version 10.8.
  • Distribution ditac-N_N_N-plus-fop.zip now contains Apache FOP 2.7 (including hyphenation and MathML support). This XSL-FO processor is automatically declared and thus, ready to be used to generate PDF or PostScript.
  • XMLmind DITA Converter, which passed all non-regression tests, is now officially supported on Java™ 18 platforms.

3.10 (January 17, 2022)

Bug fixes:

  • topicref[locktitle=yes]/@navtitle and topicref[locktitle=yes]/topicmeta/navtitle were ignored when the topicref pointed to a DITA file containing several topics, whether multiple topics (dita root element) or a single topic containing nested topics.
  • The processing of topicref[locktitle=yes]/@navtitle, topicref[locktitle=yes]/topicmeta/navtitle and topic/titlealts/navtitle was incorrect.

    Before this bug fix:

    • topicref[locktitle=yes]/@navtitle and topicref[locktitle=yes]/topicmeta/navtitle were used when generating the TOC and some, but not all, navigation links. This happened for all HTML-based output formats (HTML, EPUB, Web Help, etc), but not for XSL-FO based output formats (PDF, RTF, DOCX, etc).
    • topic/titlealts/navtitle was ignored.

    After this bug fix, these attributes and elements are processed as specified in the DITA specification:

    • topicref[locktitle=yes]/@navtitle, topicref[locktitle=yes]/topicmeta/navtitle and topic/titlealts/navtitle are used whatever the output format, whether HTML-based output formats or XSL-FO based output formats.
    • topicref[locktitle=yes]/@navtitle, topicref[locktitle=yes]/topicmeta/navtitle and topic/titlealts/navtitle are used when generating the TOC and all kinds of navigation links.

Possible incompatibilities:


3.9 (November 15, 2021)

Enhancements:

  • Upgraded XMLmind Web Help Compiler (whc for short) to version 3.3.0.
  • Some internal changes were needed to make XMLmind DITA Converter compatible with XMLmind XML Editor v10+.
  • XMLmind DITA Converter, which passed all non-regression tests, is now officially supported
    • on Java™ 17 platforms;
    • on macOS Monterey (version 12.0), including on Macs having an Apple M1 (ARM-based) processor;
    • on Windows 11.

Regressions:

  • The Java Help output format is no longer supported. Rationale: Java™ Help is an obsolete format. The Java™ Swing component used to render it on screen gives poor results and is not maintained.
  • The onclick processing-instruction is no longer supported. Rationale: this processing-instruction was mainly used to generate the EPUB epub:trigger element, a feature not supported by any major EPUB viewer and deprecated as of EPUB 3.2.

3.8.2 (May 14, 2021)

Enhancements:

  • Upgraded XMLmind Web Help Compiler (whc for short) to version 3.2.0.
  • Distribution ditac-N_N_N-plus-fop.zip now contains Apache FOP 2.6 (including hyphenation and MathML support). This XSL-FO processor is automatically declared and thus, ready to be used to generate PDF or PostScript.
  • XMLmind DITA Converter, which passed all non-regression tests, is now officially supported on Java™ 16 platforms.

3.8.1 (November 30, 2020)

Enhancements:

  • Upgraded XMLmind Web Help Compiler (whc for short) to version 3.1.1.
  • Upgraded Saxon to version 9.9.1.8.
  • XMLmind DITA Converter, which passed all non-regression tests, is now officially supported on Java™ 15 platforms.

3.8 (July 20, 2020)

Enhancements:

  • The header and footer containing navigation icons which are generated when XSLT parameter chain-pages is different from 'none' have been improved. The "First Page" and "Last Page" icons have been removed. New "Table of Contents" and "Index" icons have been added.
  • Upgraded flexmark-java (the software component used to parse Markdown and convert it to HTML) to version 0.62.2. This version adds support for “media tags” (audio, video).
  • Apache FOP supports change bars as of version 2.4, so updated the XSLT stylesheets generating XSL-FO to reflect this feature.
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 3.1.0.
  • Upgraded Saxon to version 9.9.1.7.
  • Distribution ditac-N_N_N-plus-fop.zip now contains Apache FOP 2.5 (including hyphenation and MathML support). This XSL-FO processor is automatically declared and thus, ready to be used to generate PDF or PostScript.
  • XMLmind DITA Converter, which passed all non-regression tests, is now officially supported on Java™ 14 platforms.

Bug fixes:

  • It was not possible to convert a “plain DITA” map referencing XDITA , HDITA or MDITA topics making use of the new audio and video elements. Note that this kind of conversion is still not possible if you pass the -validate parameter to ditac. (The “plain DITA” schema does not support the new audio and video elements yet.)

Possible incompatibilities:


3.7.1 (February 26, 2020)

Enhancements:

  • Table attribute orient=land (landscape table) is now supported when generating any XSL-FO based output format (PDF, RTF, WML, DOCX, ODT). However, except when the XSL-FO processor being invoked by ditac is XMLmind XSL-FO Converter v6.2+ , the landscape table must have few enough rows to fit onto one page. When this is not the case, the last rows of the landscape table will simply not appear in the output.
  • Upgraded Saxon to version 9.9.1.6.
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 3.0.1.
  • Distribution ditac-N_N_N-plus-fop.zip now contains Apache FOP 2.4 (including hyphenation and MathML support). This XSL-FO processor is automatically declared and thus, ready to be used to generate PDF or PostScript.
  • XMLmind DITA Converter, which passed all non-regression tests, is now officially supported on Java™ 13 platforms.

3.7.0_01 (November 25, 2019)

Fixed a bug which occurred when parsing a certain combination of ditac command-line arguments.


3.7 (November 20, 2019)

Enhancements:

  • Upgraded XMLmind Web Help Compiler (whc for short) to version 3.0. The Web Help generated by whc v3 gets a fresh new look. Moreover:
    • It is now “responsive” by default, that is, it adapts its layout to the size of the screen (e.g. it can adapt to the screen of a smartphone in portrait mode). This feature is controlled by new parameter wh-responsive-ui.
    • It does not leverage jQuery UI anymore (only jQuery now). However some new parameters (e.g. -p wh---navigation-background-color "#F6F8FA") may be used to override most fonts and colors used in the generated Web Help.
    • New parameter wh-ui-language may be used to specify the language used by the messages of the generated Web Help (tab labels, button tool tips, etc). The default is to use the language of the Web browser.
  • The CSS stylesheet used by default when generating any of the XHTML-based output formats (except Java™ Help) has also been “modernized”.
  • Any XHTML-based output format: it's now much easier to customize the look of the XHTML pages generated by ditac. This is done using new XSLT stylesheet parameter custom-css.
  • Upgraded Saxon to version 9.9.1.5.

Incompatibilities:

  • Web Help output format: the following XSLT stylesheet parameters, all related to jQuery UI, are not supported anymore: wh-jquery-css, wh-jquery-custom-theme, wh-jquery-theme, wh-jquery-ui.
  • Any XHTML-based output format: XSLT stylesheet parameter css-name is not supported anymore. The stock CSS stylesheet is now stored in a file called "base.css" and this, whatever the XHTML-based output format.

3.6.1_01 (September 12, 2019)

Upgraded XMLmind Web Help Compiler (whc for short) to version 2.3.2 because the the Web Help having the classic layout generated using whc v2.3.1 did not work in Google Chrome version 77+.


3.6.1 (September 9, 2019)

Enhancements:

Bug fixes:

  • Ditac did not report any error for href, conref, conrefend attributes making an invalid use of the "#." abbreviated fragment-identifier syntax introduced in DITA 1.3. For example, it silently replaced href="intro.dita#./disclaimer" by href="intro.dita#the_introduction/disclaimer", because "the_introduction" is the ID of the first topic found in file "intro.dita".

    In a nutshell, direct URI references like "foo.dita#./bar" now cause fatal errors. Only “local” direct URI references like "#./bar" are now accepted.

  • An <ol outputclass="continue"> element preceded by an ol sibling itself having ol descendants, continued its numbering from last ol descendant and not from the preceding ol sibling.

Incompatibilities:


3.6 (July 2, 2019)

Enhancements:

  • Even more control over the numbering of ordered lists. Specifying inheritnum in the outputclass attribute of an ordered list now causes the list item numbering to inherit from outer-level ordered lists. For example, using this feature (e.g. <ol outputclass="upper-alpha inheritnum">), the items of a list nested at level 2 are labelled "1.A.", "1.B.", "1.C.", etc.
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 2.3.

Incompatibilities:

  • XMLmind DITA Converter now requires Java 8+ in order to compile and run.

3.5 (April 19, 2019)

Enhancements:

  • XMLmind DITA Converter now supports subject scheme maps as follows:
    • The set of attribute values specified in a subject scheme map is used to validate attribute values in DITA maps and topics and also in DITAVAL files.

      Example: if the subject scheme map specifies that the values of attribute audience are limited to "beginner", "intermediate" and "advanced", then an error will be reported for an element having attribute audience="expert".

    • The hierarchy of attribute values specified in a subject scheme map is taken into account when filtering and flagging a DITA document.

      Example: if the DITAVAL filter specifies that all elements having attribute platform="linux" are to be excluded and if the subject scheme map specifies that value "redhat" of attribute platform is a kind of "linux", then all elements having attribute platform="redhat" will excluded too.

    More information in "Appendix C. Limitations and implementation specificities, Subject scheme maps".

  • Lightweight DITA support: the encoding of a MDITA (that is, Markdown) file is now, by default, the system encoding (e.g. window-1252 on a Western PC). In previous version of ditac, this default encoding was UTF-8 whatever the platform. If you want to explicitly specify the encoding of an MDITA file, please save your file with a UTF-8 or UTF-16 BOM or add an encoding directive inside a comment anywhere at the beginning of your file. Example:
    <!-- -*- coding: iso-8859-1 -*- -->
    
    Heading
    =======
    
    ## Sub-heading
    
    Paragraphs are separated
    by a blank line.

    The above example should work fine because ditac now understands the GNU Emacs file variable called "coding".

  • Upgraded flexmark-java (the software component used to parse Markdown and convert it to HTML) to version 0.42.6.
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 2.2.
  • XMLmind DITA Converter, which passed all non-regression tests, is now officially supported on Java™ 12 platforms.

Incompatibilities:


3.4 (February 12, 2019)

Enhancements:

Bug fixes:

  • Table rows and cells flagged using a DITAVAL file disappeared from the PDF generated by ditac. Fixing this bug required to substantially change how flagging is implemented in ditac.
  • In some cases, FOP failed to convert a map to PDF and reported the following error: "fo:inline" is not a valid child of "fo:list-block". This happened when the map contained reltables and when a DITAVAL file was used to flag some list items contained in the topics.
  • Forgot to document the pagebreak processing-instruction and the header-separator XSLT stylesheet parameter.

3.3.1 (November 29, 2018)

Enhancements:

  • When a keydef is used to create an hyperlink and contains a topicmeta/shortdesc, this shortdesc is now used to specify the tooltip of the hyperlink. Example:
    <ph keyref="XDR"/>

    where key "XDR" is defined as follows:

    <keydef keys="XDR"
            href="http://www.xmlmind.com/docrep/" 
            format="html" scope="external">
      <topicmeta>
        <linktext>XMLmind Document Repository</linktext>
    
        <shortdesc>XMLmind Document Repository is a <i>web-based</i> document
        store featuring <i>automatic</i>, <i>transparent</i>,
        <i>versioning</i>.</shortdesc>
      </topicmeta>
    </keydef>

    is translated in XHTML to:

    <a href="http://www.xmlmind.com/docrep/" 
       title="XMLmind Document Repository is a web-based document store featuring 
              automatic, transparent, versioning.">XMLmind Document Repository</a>
  • Improved the way DITA note elements are converted to RTF, WML, DOCX and ODT.

    When a DITA note element has attribute type=other, this enhancement makes use of XMLmind XSL-FO Converter v6 new extension attribute xfc:render-as-table. If you want to restore the previous behavior, pass new XSLT stylesheet parameter -p xfc-render-as-table "" (its default value being "note") to ditac.

  • Upgraded XMLmind Web Help Compiler (whc for short) to version 2.1.3_02.
  • Upgraded flexmark-java (the software component used to parse Markdown and convert it to HTML) to version 0.34.58.
  • Upgraded Saxon to version 9.8.0.15.
  • XMLmind DITA Converter, which passed all non-regression tests, is now officially supported on Java™ 11 platforms.
  • XMLmind DITA Converter is now officially supported on macOS Mojave (version 10.14).

Incompatibilities:

  • When registering XMLmind XSL-FO Converter with ditac using the -xfc option, option -rtf.target=MSWord is automatically passed to fo2rtf. This option is needed to circumvent an obscure bug in the RTF loader of MS-Word, which does not handle table cell padding tags correctly.

3.3 (August 21, 2018)

Enhancements:

  • Full Lightweight DITA (AKA LwDITA) support, whether XDITA (very small subset of DITA XML, plus new audio and video elements), HDITA (topics and maps written in HTML5) or MDITA Extended Profile (topics and maps written in Markdown).

    XMLmind DITA Converter can of course process DITA documents comprising a mix of XDITA, HDITA, MDITA and (full) DITA topics and maps.

    However for this to work, you must be using a Java 1.8+ runtime. More information in "Lightweight DITA support".

  • Adding class line-numbers to the outputclass attribute of any element specializing pre numbers the lines of this element.

    Adding class tab-width-N to the outputclass attribute of any element specializing pre “expands” the tab characters found in this element and also performs other whitespace normalizations.

    Note that when the outputclass attribute of any element specializing pre contains class line-numbers and/or class language-L (which triggers syntax highlighting), then class tab-width-8 is implicitly specified too, that is, whitespace normalization is automatically performed. If this is not what you want, please explicitly add class tab-width-0 to outputclass.

    More information in "Fancy code blocks".

  • Upgraded XMLmind Web Help Compiler (whc for short) to version 2.1.3_01.
  • Upgraded Saxon to version 9.8.0.14.
  • Distribution ditac-N_N_N-plus-fop.zip now contains Apache FOP 2.3 (including hyphenation and MathML support). This XSL-FO processor is automatically declared and thus, ready to be used to generate PDF or PostScript.

Bug fixes:

  • Elements draft-comment and required-cleanup were not filtered out prior to generating text for TOC entries, figure list entries, index entries, etc.

Incompatibilities:

  • XSLT stylesheet parameter text-file-encoding is no longer supported. By default, the character encoding of the text file included using a coderef element is automatically determined by ditac (e.g. by examining the BOM or <?xml encoding="XXX"?>). You may specify this character encoding explicitly by adding a format="text; charset=XXX" attribute to the coderef element. Example: <coderef format="text; charset=US-ASCII" href="../src/sieve.cpp"/>.

Regressions:

  • XSLT stylesheet parameter use-multimedia-extensions is no longer supported. When set to 'yes' and when RenderX XEP was used to generate PDF, a proprietary extension called rx:media-object was used to embed audio and video objects in the output file.

3.2.5 (May 18, 2018)

Enhancements:

  • XMLmind DITA Converter, which passed all non-regression tests, is now officially supported on Java™ 10 platforms.
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 2.1.3.
  • Upgraded Saxon to version 9.8.0.12.

Bug fixes:

  • When using Java 9 or Java 10 to run ditac, a date like <revised modified="2018-04-14"/> was formatted as "2018 April 14" instead of expected "April 14, 2018".

3.2.4 (March 23, 2018)

Important bug fix; please upgrade. Upgrading XMLmind Web Help Compiler (whc for short) to version 2.1.1 introduced a bug in the layout of the generated Web Help. This bug was visible on most Web browsers but not on Firefox.

This bug is fixed in whc v2.1.2 which is included in ditac v3.2.4.


3.2.3 (March 19, 2018)


3.2.2 (December 08, 2017)

  • Upgraded XMLmind Web Help Compiler (whc for short) to version 2.1. The new compiler uses window.sessionStorage rather than cookies to store the internal state of the Web Helps it generates.
  • XMLmind DITA Converter, which passed all non-regression tests, is now officially supported on Java™ 9 platforms.

3.2.1 (October 20, 2017)

Please do not use newest Java 9 to run ditac. XMLmind DITA Converter has not yet been tested against this version of Java.

Enhancements:

  • XSL-FO based output formats: the <?pagebreak?> processing-instruction may be used to force a page break. This processing-instruction must be placed between elements that generate blocks of text (e.g. after a paragraph, section or table, not inside a table).
  • Updated message translations to nn (Norwegian Nynorsk) and nb (Norwegian Bokmål), thanks to a contribution made by Leif Halvard Silli.
  • XMLmind DITA Converter is now officially supported on macOS High Sierra (version 10.13).

Bug fixes:

  • JavaHelp output format: unlike any other XHTML-based output format, JavaHelp requires none or both the width and height attributes of img to be specified. As a consequence of this specificity, DITA images like <image href="X" width="W"/>, <image href="X" height="H"/> or <image href="X" scale="S"/> were not converted to an img really usable by JavaHelp.

3.2 (September 18, 2017)

Enhancements:

  • XHTML and EPUB output formats: added an A-Z list at the beginning of the back-of-the-book index. This A-Z list may be suppressed by specifying XSLT stylesheet parameter add-index-toc=no.
  • All output formats except JavaHelp, RTF, WML, DOCX, ODT: added a nice gray border to notes.
  • All XHTML based output formats:
    • Almost all the icons found in the generated pages are now high-resolution icons.
    • Added CSS property "font-size: 1em;" to all rules targeting table classes. This is a workaround for a well-known quirks mode behavior.
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 2.0, which now supports 2 layouts for the generated Web Help: classic, the default layout and simple, a new layout. When generating Web Help, pass ditac option -p wh-layout simple to give it a try.
  • Upgraded Saxon to version 9.7.0.20.

3.1.5 (August 21, 2017)

Enhancements:

Bug fixes:

  • XSL-FO based output formats:
    • A fn inserted into a pre was very poorly formatted.
    • Modifying attribute-set "abbreviated-form" in order to customize the style of abbreviated-form elements had no effect.
  • Icons found in the header and/or footer generated by ditac when parameter chain-pages was set did not get their “tooltip texts” localized. That is, their tooltip texts always contained English messages.

3.1.4 (June 10, 2017)

Enhancements:

  • Tested ditac against Apache FOP 2.2.
  • New distribution ditac-N_N_N-plus-fop.zip contains Apache FOP 2.2 (including hyphenation and MathML support). This XSL-FO processor is automatically declared and thus, ready to be used to generate PDF or PostScript.
  • Added message translations to nn (Norwegian Nynorsk) and nb (Norwegian Bokmål), thanks to a contribution made by Leif Halvard Silli.
  • Added message translations to ja (Japanese), thanks to a contribution made by Kazuko Ohashi of NEC Corporation.
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 1.4.4, which contains an important bug fix.

Bug fixes:

  • EPUB 2 output format: epubcheck complained about the system ID found in the DOCTYPE of the generated toc.ncx.
  • Ditac now reports as a (non-fatal) error invalid or unsorted colspec/@colnum.

Other changes:

  • Changed "Licensor" from "Pixware SARL" to "XMLmind Software" in all licenses.

3.1.3 (April 27, 2017)

Enhancements:

  • It's now possible to translate the text generated by ditac corresponding to numbered elements (Chapter, Appendix, Table, Figure, etc) to CJK. For some languages, like CJK languages, you'll have to insert variable %{N} in the localized text. This variable is replaced by the number of the element.

    Japanese example: excerpts of a possible ditac_install_dir/xsl/common/messages/ja.xml:

    <message name="chapter">第%{N}章</message>

    For the first chapter of the document, this gives "第1章", which means "The 1 Chapter".

  • Upgraded XMLmind Web Help Compiler (whc for short) to version 1.4.3. This version makes it very easy using custom JQueryUI themes created using JQueryUI ThemeRoller.

    For example, this Web Help has been generating by passing ditac -p wh-jquery-custom-theme jquery-ui-1.12.1.custom.zip, where jquery-ui-1.12.1.custom.zip was entirely created using JQueryUI ThemeRoller.

  • Upgraded Saxon to version 9.7.0.18.

3.1.2_01 (April 14, 2017)

Enhancements:


3.1.2 (March 30, 2017)

Enhancements:

  • XHTML based output formats: added a title attribute to the XHTML area elements generated out of a DITA imagemap element. This title attribute is used by Web browser to display a tooltip.
  • XHTML based output formats: the scale attribute in something like <image href="drawing.svg scale="75"/> caused ditac to fail scaling the SVG graphics. The following error message was printed on the console: "'svg', unsupported image extension". This is no longer the case provided that the svg root element of the referenced SVG file has both width and height attributes containing an absolute length, for example: <svg width="640px" height="320px">.

Bug fixes:


3.1.1 (March 13, 2017)

Enhancements:

  • XHTML based output formats: imagemap is now converted to a div containing img and map child elements.
  • XSL-FO based output formats: imagemap is now converted to an image followed by a numbered list, with one list item per area element. A list item contains the link specified by the area element. No list items are generated for “dead areas” (area element specifying no link at all). This numbered list may be suppressed by setting XSLT stylesheet parameter show-imagemap-links to 'no'.
  • Added XSLT stylesheet parameter format-to-type which allows to map DITA xref/@format to XHTML a/@type.

    Parameter format-to-type contains zero or more DITA format/MIME type pairs. Example: "txt text/plain xml application/xml html text/html". The default value of this parameter is the empty string, which means that DITA xref/@format is not converted to XHTML a/@type.

    Using this default value, <xref scope="external" format="txt" href="http://acme.com/info.xyz"> is converted to <a href="http://acme.com/info.xyz" target="_blank">. The fact that file extension ".xyz" is unknown may cause problems when attempting to navigate or download file "info.xyz" using a Web browser.

    If -p format-to-type "txt text/plain" is passed to ditac then <xref scope="external" format="txt" href="http://acme.com/info.xyz"> is converted to <a type="text/plain" href="http://acme.com/info.xyz" target="_blank">, which is better.

  • Described how to add a YouTube video to a DITA topic. See "Other uses of the object element".
  • Upgraded Saxon to version 9.7.0.15.

Bug fixes:

  • Ordered list items flagged using a DITAVAL file were always given a number equal to 1.

3.1.0 (November 7, 2016)

Enhancements:

Bug fixes:

  • The type attribute was not correctly processed for object elements having a datakeyref attributes and for param elements having a keyref attribute.

Incompatibilities:

  • Changed the way alternate audio and video files are specified in the DITA object element. Alternate audio and video files used to be specified as follows:
    <object data="media/audio.mp3" type="audio/mpeg">
       <param name="source.src" value="media/audio.m4a"/>
       <param name="source.type" value="audio/mp4"/>
    
       <param name="source.src" value="media/audio.wav"/>
       <param name="source.type" value="audio/wav"/>
    
       <param name="controls" value="true"/>
    </object>

    Alternate audio and video files must now be specified as follows:

    <object data="media/audio.mp3" type="audio/mpeg">
       <param name="source" value="media/audio.m4a"
              valuetype="ref" type="audio/mp4"/>
    
       <param name="source" value="media/audio.wav"
              valuetype="ref" type="audio/wav"/>
    
      <param name="controls" value="true"/>
    </object>

    More information in Rich media content, Audio and Video.

Other:


3.0 (October 10, 2016)

XMLmind DITA Convert now fully supports DITA 1.3 Technical Content. However, there are still limitations, deemed minor, and implementation specificities which are documented in the manual.

Bug fixes:

  • When a map directly or indirectly contained several reltable elements, metadata attributes (e.g. scope) did not cascade correctly from the relcolspec elements of the reltable to the topicref elements contained in the relcell elements of the reltable.

2.6.2 (August 18, 2016)

Enhancements:

  • An alternate XSLT stylesheet called fo_indent.xsl may be used to generate any XSL-FO based output format: PDF, DOCX, ODT, etc. This stylesheet:
    • Indents all blocks but topic and section titles by the value of XSLT stylesheet parameter body-start-indent. By default body-start-indent is 2pc.
    • Adds more vertical space after topic and section titles.
    • Only part, appendices, chapter and appendix titles are underlined.

    This stylesheet is invoked by passing option -t ditac-xsl:fo/fo_indent.xsl to ditac. Example of its output: manual-fop.pdf.

  • By default, the EPUB 3 files generated by ditac should now be compatible with EPUB 2 readers. If you don't need this compatibility, simply set XSLT stylesheet parameter epub2-compatible to no.
  • When generating EPUB 2 files, embedded MathML elements are now automatically wrapped into epub:switch elements.
  • Relaxed the limitations about the elements which can be flagged by using a .ditaval file. Elements like li, dlentry, step, stentry, etc, can now be flagged to a certain extent.
  • Upgraded Saxon to version 9.7.0.7.
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 1.4.1_01, which leverages jQuery to v2.2.4. This implies that the Web Help generated by ditac no longer supports Internet Explorer 8 and older versions.

2.6.1 (June 17, 2016)

Enhancements:

  • When a duplicate ID is found inside a topic, ditac now reports a warning.

Bug fixes:

  • Support of properties tables having just 2 columns (that is, not containing proptype and propvalue and propdesc) and not having a prophead header row was poorly implemented. Moreover converting such properties tables to PDF caused Apache FOP to fail.
  • Metadata was not always copied from the topicmeta of a topicref to the prolog of a topic (reference: "Reconciling topic and map metadata") It was copied only in the case of topicrefs having an href attribute. Example:
    <map>
      <topicref href="t1.dita">
        <topicmeta><data name="key1" value="value1"/><topicmeta>
      </topicref>
    
      <topichead navtitle="My Title">
        <topicref href="t2.dita">
          <topicmeta><data name="key2" value="value2"/><topicmeta>
        </topicref>
      </topichead>
    </map>

    File t1.ditac (that is, preprocessed t1.dita) ended up with a prolog containing <data name="key1" value="value1"/>, which was correct.

    File t2.ditac (that is, preprocessed t2.dita), being referenced in the map using a topicref contained in a topichead not having an href attribute, did not end up with a prolog containing <data name="key2" value="value2"/>, which was incorrect.


2.6.0 (April 8, 2016)

Partial DITA 1.3 support:

  • Ditac can now convert DITA documents conforming to the DITA 1.3 DTD, W3C XML Schema or RELAX NG schema.
  • For now, ditac supports all DITA 1.3 new elements (line-through, steptroubleshooting, troubleshooting topic, XML domain, MathML domain, SVG domain, equation domain, etc), but not any of the DITA 1.3 new features (abbreviated syntax "#./elementId", key scopes, branch filtering, etc). Full DITA 1.3 support is planned for year 2016.
  • In fact, when ditac v2.6+ is used, DITA 1.2 documents are automatically “upgraded” to DITA 1.3. This is caused by the fact that the following <!DOCTYPE> means "use latest version of the DITA DTD":
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
    <topic id="MyTopic">
    ...
    </topic>

    This should not be a problem as DITA 1.3 is a superset of DITA 1.2.

  • Ditac has no problem processing a DITA document pointing to a RELAX NG schema, rather than to a DTD or W3C XML Schema:
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-model href="urn:oasis:names:tc:dita:rng:topic.rng"?>
    <topic id="MyTopic">
    ...
    </topic>
  • You can now easily “upgrade” your documents conforming to a DITA 1.2 DTD to the equivalent DITA 1.3 W3C XML Schema or RELAX NG schema. Suffice to run the following, auto-documented, command-line utility:
    java -cp ditac_install_dir/lib/ditac.jar com.xmlmind.ditac.tool.DTDToSchema -rng MyTopic.dita
  • More information in "About DITA support in XMLmind DITA Converter".

Other enhancements:

  • Setting new mathjax XSLT parameter to "auto" allows to add a script element loading MathJax to the html/head elements of the XHTML files containing MathML generated by ditac.

    This is needed because very few web browsers (Firefox) can natively render MathML. Fortunately, there is MathJax. MathJax is a JavaScript display engine for mathematics that works in all browsers.

  • Upgraded XMLmind Web Help Compiler (whc for short) to version 1.4.1.

2.5.8_01 (February 23, 2016)

Enhancements:

  • New distribution ditac-N_N_N-plus-fop.zip contains Apache FOP 2.1 (including hyphenation and MathML support). This XSL-FO processor is automatically declared and thus, ready to be used to generate PDF or PostScript.

Bug fixes:

  • <chapter href="sub.bookmap"/> included the topicrefs and reltables contained in sub.bookmap, which is fine, but also the frontmatter and backmatter of sub.bookmap, which is incorrect.

2.5.8 (February 22, 2016)

Enhancements:

  • Added -Djava.awt.headless=true to the command-line executables found in ditac_install_dir/bin/.
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 1.4.0_05. This version leverages jQuery v1.12.0 and jQuery UI v1.11.4.
  • Upgraded Saxon to version 9.6.0.8.
  • Tested ditac against Apache FOP 2.1 (14 January 2016). Please use either Apache FOP 1.1 or FOP 2.1. Please do not use Apache FOP 2.0 as we have found this version to have a severe bug (FOP-2461).

Bug fixes:

  • When generating a single-sided PDF file, FOP 2.1 raised the following XSL-FO validation exception: The flow-name "XXX" on fo:static-content could not be mapped to a region-name in the layout-master-set.
  • Images contained in bookmap/booktitle were not correctly processed.
  • Eclipse Help output format:
    • A META-INF/MANIFEST.MF file was missing.
    • Slightly changed the stock eclipsehelp.css CSS file to adapt it to the Eclipse Help Viewer when displayed on very high-resolution (HiDPI) screens.

2.5.7 (November 25, 2015)

Bug fixes:

  • Element abbreviated-form is now processed as described in the DITA 1.2 spec, that is, it is substituted with the glossSurfaceForm (first occurrence of an abbreviated-form) or the glossAcronym (subsequent occurrences of an abbreviated-form) of the glossentry pointed to. In previous versions, abbreviated-form was systematically substituted with the glossterm of the glossentry pointed to.
  • Documented limitation related to element glossref.
  • A processing-instruction inserted in the DITA source by an author was moved to a different location in the corresponding intermediate ".ditac" file.

2.5.6 (July 30, 2015)

Enhancements:

  • It's now possible to add a watermark (e.g. "DRAFT", "CONFIDENTIAL") to a document generated by ditac. This feature is controlled by two new XSLT stylesheet parameters watermark-image (all output formats) and watermark (XSL-FO based output formats only).

    If you need this feature when generating RTF, WordprocessingML, Office Open XML (.docx), OpenDocument (.odt), please make sure to use XMLmind XSL-FO Converter v5.3+.

  • Completed the implementation of DITAVAL feature <revprop changebar="change bar styles"/>. Documented the implementation in "Flagging contents", a new section of the manual.
  • Convert tables to any of the XSL-FO based formats (PDF, RTF, etc): moved border-width to the tgroup and entry attribute-sets. This allows to easily give tables a border width which is thicker than 0.5pt (which is the “stock” value).
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 1.4.0_03.

Bug fixes:

  • An input file having a name containing accented characters caused the conversion to any XHTML-based format to fail with the following error: "An empty sequence is not allowed as the result of function u:currentChunk()".

2.5.5_01 (June 18, 2015)

Enhancements:

Other:

  • Tested ditac against Apache FOP 2.0 (June 3, 2015). While this version seems promising, we recommend to keep using FOP 1.1 as we have found version 2.0 to have a severe bug. See FOP-2461.

2.5.5 (April 17, 2015)

Enhancements:

  • New -validate option allows to validate all the XML files loaded by ditac. Any validation error will cause ditac to immediately stop running. Therefore the combination of the -validate and -dryrun (checks cross-references) options gives you a simple way to thoroughly check your DITA document.

    Note that for the -validate option to work, all the XML files (maps, topics, even .ditaval filter files) loaded by ditac must start with the proper <!DOCTYPE> declaration.

  • Ditac now reports a warning if an image element has an empty or invalid href attribute or if this href attribute points to a non-existent file.
  • Ditac now prints clearer warning messages in case of broken internal links.

2.5.4 (January 22, 2015)

Enhancements:

  • It's now possible to give a background color to table cells by adding a bgcolor(color) directive (where color is any CSS color value) to the outputclass attribute of most table elements. More information in this chapter of the manual.
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 1.4.0_01. This version leverages jQuery v1.11.2 and jQuery UI v1.11.2.
  • Upgraded Saxon to version 9.5.1.8.

Bug fixes:

  • An error in the CSS stylesheets used the HTML-based (XHTML, EPUB, Web Help, etc) files generated by ditac prevented the frame, colsep and rowsep attributes of table elements to be effective.

2.5.3 (September 17, 2014)

Enhancements:

  • New, modern, “flat design”, admonition icons. Moreover all XSL-FO based output formats (PDF, RTF, etc) now use SVG icons rather than PNG icons like the XHTML-based output formats.
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 1.4.
    • The result of a full-text search is now sorted by the number of hits, that is, a page containing many occurrences of the searched word is listed before the pages containing fewer occurrences of this word.
    • Added new parameter wh-index-numbers which allows to index words looking like numbers. Note that, by default, number-like words are not indexed.
    • Parameter wh-user-resources now accepts the absolute "file:" URI of a directory, as well as an absolute or relative filename.
    • Upgraded jQuery to v1.11.1, jQuery UI to v1.11.1.
  • Upgraded Saxon to version 9.5.1.7.

Bug fixes:

  • In something like:
    <task id="myTask">    
      <title>Parent Task</title>
      <taskbody>
      ...
      </taskbody>
    
      <task id="conrefTask" conref="conrefTask.dita">
        <title/>
      </task>
    </task>

    the nested topic was empty (instead of having the same contents as conrefTask.dita) in the files generated by ditac.

  • XSLT extension function Date:format was not thread-safe.

2.5.2 (July 2, 2014)

Enhancements:

Bug fixes:

  • Specifying <prop action="exclude"/> in a .ditaval file caused ditac to raise a NullPointerException.

Incompatibilities:

  • Now requires Java™ 1.6+ in order to compile and run.

2.5.1 (February 12, 2014)

Enhancements:

Upgraded XMLmind Web Help Compiler (whc for short) to version 1.3.0_02. This version leverages jQuery v1.11.0 and jQuery UI v1.10.4.

Bug fixes:

  • In contradiction with the DITA spec, the value of the id attribute of the resourceid element was modified by ditac.
  • XSL-FO intermediate format: despite the fact that parameter two-sided was set to no, page-inner-margin and page-outer-margin were swapped for even and odd pages.
  • The scale attribute was correctly implemented for simpletables, but not for tables.
  • Specifying command-line option "-xep /opt/xep/xep" now executes command "/opt/xep/xep -quiet -valid -fo %I -pdf %O". The -valid flag is new. It's a workaround for RenderX XEP bug #22766. This bug can be described as follows:

    Starting from Java™ 1.6.0_23, converting XML documents to PDF using RenderX XEP randomly fails with false XSL-FO errors (e.g. attribute "space-before" may not be empty). This problem seems specific to the 64-bit runtime.


2.5 (October 29, 2013)

Enhancements:

  • Web Help output format: stemming is now used by default when the main language of the document is one of Danish, Dutch, English, Finnish, French, German, Hungarian, Italian, Norwegian, Portuguese, Russian, Spanish, Swedish, Romanian, Turkish. It's possible to turn this feature off by specifying command-line option -p wh-use-stemming no.

    Example: let's suppose the Web Help contains word "Servlets", but not word "Servlet". In previous versions of the Web Help, which did not implement stemming, searching for "Servlet" failed to find the page containing "Servlets". With stemming now implemented and turned on by default, searching for "Servlet" finds the page containing "Servlets".

  • XSLT stylesheet parameter mark-important-steps=yes (default value is "no") allows to generate a "Required" (respectively "Optional") label for step and substep elements having an importance attribute set to "required" (resp. "optional").
  • XHTML based output formats: the shortdesc element of a topic is now used to generate an XHTML description meta.
  • Made vertical spacing between blocks more consistent in the CSS stylesheets used by XHTML-based formats (all formats except JavaHelp) and also in the XSLT stylesheets which generate XSL-FO.
  • Upgraded Saxon to version 9.4.0.9.

2.4.2 (July 8, 2013)

Enhancements:

  • The numbering of nested ordered lists now automatically alternates between the "1." and "a." formats.
  • It is now possible to control the numbering of ordered lists by the means of one or more class names specified in the outputclass attribute of the ol element. For example: <ol outputclass="upper-roman start(10)"> specifies an ordered list which starts with an "X.". More information in this chapter of the manual.
  • Upgraded XMLmind Web Help Compiler (whc for short) to version 1.2.1. This version adds new parameter wh-local-jquery which allows to copy all jQuery files to the directory containing the other Web Help files. By default, the jQuery files are accessed from the Web (typically from a CDN).

2.4.1 (May 20, 2013)

Enhancements:

  • If you use RenderX XEP to generate PDF, it is now possible to embed Flash animations in the PDF file. This done by setting XSLT stylesheet parameter "use-multimedia-extensions" to "application/x-shockwave-flash". (The corresponding command-line option is "-p use-multimedia-extensions application/x-shockwave-flash".)

    This feature requires generating PDF version 1.5+. By default, XEP generates PDF version 1.4. It seems that there is no way to change this by passing a command-line option to xep.bat or to the xep shell script. However, this can be changed once for all, for example by inserting <option name="PDF_VERSION" value="1.5"/> into the <generator-options format="PDF"> element found in the XEP_install_dir/xep.xml configuration file.

  • Using the -frontmatter command-line option when converting a bookmap now adds elements after any existing booklists elements. Using the -backmatter command-line option when converting a bookmap now adds elements before any existing booklists elements.

Bug fixes:

  • Passing "-backmatter examplelist -p extended-toc both" to ditac added to the table of contents a "Booklist" entry instead of the expected "List Of Examples" entry.
  • XSL-FO intermediate format: a command-line argument like '-p footer-left "{{image(icon(small).svg)}}"' didn't work because the image filename contains '( )' characters.

2.4.0_01 (April 2, 2013)

Bug fixes:

  • Ditac never removed table cells and just made them empty. The rationale behind this specificity (which was not documented and hence looked like a bug) is that ditac did not want an author to filter all the cells out of a row, thus, making this row empty. However a quite useful use case is to suppress a table column by filtering out all its cells. Therefore the aforementioned specificity has been removed in v2.4.0_01.

2.4 (February 18, 2013)

Enhancements:

  • New output formats: XHTML 5, Web Help containing XHTML 5, EPUB 3.

    Note that (X)HTML 5 really requires using a very recent Web browser. For example, Internet Explorer 8 does not support (X)HTML 5.

    The EPUB 3 generated by XMLmind DITA Converter has been successfully tested against epubcheck 3.0 and iBooks 3.0.2. Note that iBooks still has font problems with MathML and also, video control by the means of epub:trigger does not always work as expected.

  • The above new output formats all support rich media content. A new chapter of the manual, Rich media content, explains how to add SVG, MathML, audio, video, Flash animations and actions (e.g. click some text to play a sound) to your DITA topics. This chapter also explains how XMLmind DITA Converter processes this rich media content depending on whether it is supported by the output format.
  • New, nicer, admonition icons, thanks to the excellent FatCow icon set and famfamfam.com's Silk icon set.
  • New XSLT stylesheet parameter external-resource-base may be used to specify how to resolve xref or link elements having an external scope attribute and a relative href attribute. Example of such xref elements: <xref scope="external" format="java" href="src/Test.java">Test.java</xref>.
  • Upgraded XMLmind Web Help Compiler (whc for short) v1.2.
  • Upgraded Saxon to version 9.4.0.6.

Incompatibilities:

  • The -imagehandler command-line option has been replaced by -resourcehandler. Note that -i is still accepted as an alias for -r and -images as an alias for -resources.
  • JavaTM API: interface com.xmlmind.ditac.preprocess.ImageHandler has been replaced by com.xmlmind.ditac.preprocess.ResourceHandler.

2.3.1_02 (November 21, 2012)

Bug fixes:

  • XSL-FO intermediate format: the fo.xsl stylesheet now adds attribute xml:lang to element fo:root. Previously, this stylesheet added a language attribute to element fo:page-sequence but this language attribute possibly contained a combination of a language code and a country code (e.g. "en-US"), which is incorrect.
  • XSL-FO intermediate format: added a workaround for FOP bug #48765. This bug caused FOP to raise a NullPointerException in org.apache.fop.layoutmgr.inline.InlineStackingLayoutManager.getChangedKnuthElements when parameter hyphenate was set to 'yes' and the DITA document contained indexterm elements.

2.3.1_01 (November 11, 2012)

Fixed a minor bug in the open source software component called "XSLT syntax highlighting" (found in ditac_install_dir/lib/xslthl.jar). Without this bug fix, XMLHighlighter.highlight raised a StringIndexOutOfBoundsException when the XML text to be highlighted contained nested elements like for example in:

<pre><db:xref <i>linkend='foo'</i>/></pre>

In the above example, the text to be highlighted is basically "<db:xref linkend='foo'/>". However, this text also contains a <i> nested element, which triggered the bug.


2.3.1 (November 5, 2012)

Bug fixes:

  • In the previous releases
    <glossarylist>
      <topicref href="term1.dita"/>
      <topicref href="term2.dita"/>
      <topicref href="term3.dita"/>
    </glossarylist>

    was processed as if it was:

    <topicgroup>
      <topicref href="term1.dita"/>
      <topicref href="term2.dita"/>
      <topicref href="term3.dita"/>
    </topicgroup>

    In some cases, when generating a XSL-FO based format (PDF, RTF, etc), this caused "A sequence of more than one item is not allowed as the first operand of 'eq'" errors.

    Now, the above glossarylist is processed as if it was:

    <glossarylist navtitle="Glossary">
      <topicref href="term1.dita"/>
      <topicref href="term2.dita"/>
      <topicref href="term3.dita"/>
    </glossarylist>

    Note that all the following bookmap elements: abbrevlist, amendments, appendices, appendix, bibliolist, bookabstract, booklist, chapter, colophon, dedication, draftintro, figurelist, glossarylist, indexlist, notices, part, preface, tablelist, toc, trademarklist, are considered to have an implicit title when

    • they have no href attribute,
    • and they have no explicit title,
    • and they contain one or more topicref (of any type) child elements.
  • When a bookmap contained a figurelist (or a tablelist) and the document being converted contained no figures (or no tables), the conversion to PDF using FOP failed with a org.apache.fop.fo.ValidationException: "fo:list-block" is missing child elements. Required content model: marker* (list-item)+.
  • Let's suppose a map contains:
    <topicref href="multi.dita"/>
    <!-- Now, pull a copy of multi.dita. -->
    <topicref href="multi.dita"/>

    where multi.dita contains multiple topics, each topic possibly containing nested topics. As expected, the first topicref pulled all the topics, including nested ones, contained in multi.dita. The second topicref only pulled the first topic contained in multi.dita.

    However, please note that there are still limitations and inconsistencies when working with files containing multiple topics and/or nested topics. We have documented some of these limitations here.


2.3 (September 11, 2012)

Enhancements:

  • It's now possible to automatically colorize the source code contained in pre, codeblock, etc, elements. This feature, commonly called syntax highlighting, has been implemented using an open source software component called "XSLT syntax highlighting".
    • If you want to turn on syntax highlighting in a DITA document, suffice to add attribute outputclass to a pre, codeblock or any other element specializing pre. The value of attribute outputclass must be any of: language-c, language-cpp, language-csharp, language-delphi, language-ini, language-java, language-javascript, language-m2, language-perl, language-php, language-python, language-ruby, language-tcl, language-xml.
    • If you want to customize syntax highlighting for an HTML-based output format (XHTML, EPUB, etc), redefine any of the following CSS styles: .hl-keyword, .hl-string, .hl-number, .hl-comment, .hl-doccomment, .hl-directive, .hl-annotation, .hl-tag, .hl-attribute, .hl-value, .hl-doctype. Example:
      .hl-keyword {
          font-weight: bold;
          color: #602060;
      }
    • If you want to customize syntax highlighting for an XSL-FO-based output format (PDF, RTF, etc), redefine any of the following attribute-sets: hl-keyword, hl-string, hl-number, hl-comment, hl-doccomment, hl-directive, hl-annotation, hl-tag, hl-attribute, hl-value, hl-doctype. Example:
      <xsl:attribute-set name="hl-keyword" use-attribute-sets="hl-style">
        <xsl:attribute name="font-weight">bold</xsl:attribute>
        <xsl:attribute name="color">#602060</xsl:attribute>
      </xsl:attribute-set>
  • Added message translations to it and pl, thanks to a contribution made by Jirka Kosek (http://xmlguru.cz/).
  • Embeds XMLmind Web Help Compiler (whc for short) v1.1.4. This new release adds message translations to de, es, it, ja, pl, ru, zh-CN, zh-TW, thanks to a contribution made by Jirka Kosek (http://xmlguru.cz/).
  • Upgraded Saxon to version 9.4.0.4.

Bug fixes:

  • When automatically adding a desc child element to a link element pointing to a topic, the ditac preprocessor didn't consider the shortdesc element contained in the abstract of the target topic. As a consequence, the corresponding <a href="XXX"> element found in the generated HTML page was missing a title attribute (which is used as a “balloon help” by most web browsers).

Incompatibilities:

  • The default values of the page-ref-before and page-ref-after XSLT stylesheet parameters are now the empty string. Previously the default values were respectively " [" and "]". When both these parameters are specified as the empty string, in fact, this specifies that the generated string must be the localized equivalent of "on page".

2.2.3 (July 18, 2012)

Now supports simple plug-ins.

A plug-in is simply a subdirectory of ditac_install_dir/plugin/. For example, ditac_install_dir/plugin/MyPlugin/.

This subdirectory may contain an XML catalog file. This XML catalog file must be named catalog.xml. In the case of a DITA specialization, catalog.xml points to local copies of customized DTDs. Example: ditac_install_dir/plugin/MyPlugin/catalog.xml:

<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
         prefer="public">
  <public publicId="-//OASIS//DTD DITA Concept//EN"
          uri="dtd/concept.dtd"/>
  ...
</catalog>

This subdirectory may contain an xsl/ subdirectory organized exactly like ditac_install_dir/xsl/. That is, this xsl/ subdirectory may contain one or more of the following XSLT stylesheets:

XSLT stylesheetDescription
xsl/fo/fo.xslUsed to generate an intermediate XSL-FO file. After that, the XSL-FO file is converted to PDF, PostScript, RTF, WordprocessingML, Office Open XML (.docx) or OpenOffice (.odt) by the means of an XSL-FO processor.
xsl/xhtml/xhtml.xslUsed to generate XHTML 1.0 pages.
xsl/xhtml/xhtml1_1.xslUsed to generate XHTML 1.1 pages.
xsl/xhtml/html.xslUsed to generate HTML 4.1 pages.
xsl/webhelp/webhelp.xslUsed to generate Web Help files, which are then compiled using XMLmind Web Help Compiler.
xsl/htmlhelp/htmlhelp.xslUsed to generate HTML Help files, which are then compiled using hhc.exe.
xsl/eclipsehelp/eclipsehelp.xslUsed to generate Eclipse Help files.
xsl/javahelp/javahelp.xslUsed to generate Java Help files, which are then archived in a .jar file.
xsl/epub/epub.xslUsed to generate EPUB files, which are then archived in a .epub file (Zip archive having a .epub extension).

When ditac is passed command-line option -plugin plugin_name, it will use the DTDs/schemas and the XSLT stylesheets found in the plug-in subdirectory having specified name preferably to those found in ditac_install_dir/schema/ and in ditac_install_dir/xsl/.

Incompatibilities:

  • Removed support for system property/environment variable XML_CATALOG_FILES. Removed command-line option -xslt2. These facilities were mainly useful to convert documents conforming to a DITA specialization. You now need to package your DITA specialization as a ditac plug-in.
  • JavaTM API changes: removed the following com.xmlmind.ditac.convert.Converter methods: registerCustomStyleSheet, setStyleSheetDirectory (instead, now set system property DITAC_XSL_DIR), getStyleSheetDirectory.

2.2.2 (June 15, 2012)

Enhancements:

Bug fixes:

  • Ditac generated some dead links when the map being converted referenced more than 999 topics having the same ID (e.g. id="topic").

2.2.1 (April 30, 2012)

Enhancements:

  • Ditac now allows to automatically generate navigation links whatever the value of the collection-type attribute set on a topicref element. Previously, collection-type="unordered" and collection-type="choice" were ignored.

    For these navigation links to be generated, XSLT stylesheet parameter ignore-navigation-links must be either specified as 'no' or 'auto'. And, if ignore-navigation-links is specified as 'auto', then XSLT stylesheet parameter chain-topics must not be specified as 'yes' (in other words, 'auto' means: same value as chain-topics).

    The default value of ignore-navigation-links is: 'auto' for XHTML and its variants; 'yes' for Web Help, Java Help, HTML Help, Eclipse Help and EPUB.

  • Embeds XMLmind Web Help Compiler (whc for short) v1.1.2.

Bug fixes:

  • Bookmap: chapter numbers were automatically restarted at 1 for each new part. Chapters are now numbered continuously across parts.
  • Conref push is now performed within topics after conditional processing. This change was needed to allow combining conref push and conditional processing. Example:
    <concept id="intro">
      <title id="title">Introduction</title>
    
      <prolog>
        <data audience="newbie"><title conaction="pushreplace"
        conref="#intro/title">Introduction for newbies</title></data>
    
        <data audience="expert"><title conaction="pushreplace"
        conref="#intro/title">Introduction for experts</title></data>
      </prolog>
      ...
    </concept>

2.2 (March 13, 2012)

Enhancements:

  • All output formats: new extended-toc XSLT stylesheet parameter allows to add frontmatter and backmatter topicrefs to the Table of Contents (TOC) of a document. Note that the toc, navtitle, locktitle, etc, attributes are applied normally to frontmatter and backmatter topicrefs when an extended TOC is generated.
  • New option -addindex will copy the output file containing the TOC to index.html. This option is ignored unless the output format is xhtml, xhtml1.1, html or webhelp.
  • Web Help output format: new wh-collapse-toc XSLT stylesheet parameter specifies whether the TOC of a Web Help should be initially collapsed.
  • XSL-FO intermediate format: more powerful and more flexible specification of page headers and footers.
  • XSL-FO intermediate format: added XSLT stylesheet parameters and attribute-sets allowing to customize more easily and more extensively the presentation of the output files generated out of the XSL-FO intermediate file (PDF, RTF, etc) .

    New XSLT stylesheet parameters:

    • body-font-family, title-font-family, title-color.
    • ul-li-bullets, unordered-step-bullets, choice-bullets.
    • link-bullet, menucascade-separator.

    New attribute-sets:

    • ol-li-label, step-label, unordered-step-label.
    • ul-li-label, unordered-step-label, choice-label.
    • link-bullet, menucascade-separator.
    • tm-symbol, tm-service-symbol, q-quote.
    • frontmattersection-title, backmattersection-title, amendments-title, bookabstract-title, colophon-title, dedication-title, draftintro-title, notices-title, preface-title
  • Added support for Antenna House Formatter, an advanced, commercial, XSL-FO processor which may be used to render XSL-FO as PDF and PostScript.
  • Embeds XMLmind Web Help Compiler (whc for short) v1.1.1.

Bug fixes:

  • The coderef element (allowing to include the contents of a text file in its parent codeblock element) was not styled.
  • Some icons were missing in the directory containing the files generated by ditac when -p chain-topics yes and/or -p chain-pages top|bottom|both were used for output formats other than HTML (Web Help, HTML Help, etc).
  • Ditac processed id and href attributes inside embedded SVG and MathML elements (e.g. contained in a foreign parent element) as if these were native DITA elements.

Incompatibilities:

  • XSL-FO intermediate format: the new specification of page headers and footers is completely incompatible with the kind of specification supported by ditac 2.1:
    • Parameters header-left-image, header-center-image, header-right-image, footer-left-image, footer-center-image, footer-right-image have been suppressed. Instead please use the new {{image(URI)}} variable. For example: -p header-left-image logo/logo.svg becomes -p header-left {{image(logo/logo.svg)}}.
    • Header/footer variables %odd-page-number% and %even-page-number% have been suppressed. Instead please specify a conditional header/footer. For example: -p footer-left %even-page-number% becomes -p footer-left "two-sides even:: {{page-number}}".
  • By default, the TOC of an EPUB document no longer has List of Figures, Lists of Tables and Index entries. If you want to restore these entries, pass XSLT stylesheet parameter extended-toc=both to ditac.
  • By default, all the HTML pages generated by ditac now contain:
    <meta name="generator" 
          content="XMLmind DITA Converter VERSION" />

    The name of the software which has been used to create the HTML pages is specified by new XSLT stylesheet parameter generator-info.


2.1.0_01 (December 15, 2011)

If you have XMLmind XSL-FO Converter v4.6+, XMLmind DITA Converter will now automatically generate outline levels for the RTF, WordprocessingML, Office Open XML (.docx), OpenOffice (.odt) output formats. In practice, this allows to use the Document Map and the Outline View in MS-Word and to use the Navigator Window in OpenOffice/LibreOffice.


2.1 (December 6, 2011)

XMLmind DITA Converter (ditac for short) now allows to generate Web Help.

This feature leverages a new, free, open source, component: XMLmind Web Help Compiler.

XMLmind Web Help Compiler (whc for short) is a generic —that is, not depending on ditac in any way— tool which can be used to convert a set of static XHTML pages to a standalone, interactive, Web Help application running in a Web browser. More information in Features.

whc has been embedded in ditac, so there is no need for a ditac user to download and install whc. We mention this tool merely because its documentation describes quite precisely the kind of Web Help application which can now be generated by ditac.

We plan to integrate ditac v2.1 in the following products: XMLmind XSL Utility, XMLmind XSL Server, XMLmind XML Editor Professional Edition, very shortly. Note whc will also be used by XMLmind XML Editor to generate Web Help out of DocBook documents.

Bug fixes:

  • In some cases, for example when generating HTML Help (.chm) or Eclipse Help, an index was automatically generated when any of the topics being converted contained indexterm elements. This is no longer the case. Your bookmap needs now to explicitly reference an indexlist element for an index to be automatically generated. Alternatively, if you use a plain map rather than a bookmap, specify the -index command-line option.
  • When loading the set of keys specified in a map, the print attribute was not used to filter the key definitions. Example: let's suppose the target format of the deliverable is PDF (i.e. the target medium is print):
    <keydef print="no" keys="screenshot" href="screenshot.png" />
    <keydef print="printlonly" keys="screenshot" href="screenshot.svg" />

    Before the bug fix, key screenshot points to screenshot.png. After the bug fix, key screenshot points to screenshot.svg.

Other changes:


2.0.4 (July 22, 2011)

Bug fixes:

  • A map referencing topics having IDs and/or file basenames starting with the same prefix (for example, "foo.dita", "foo.bar.dita", "foo.bar.wiz.dita" all start with the same "foo." prefix) caused ditac to fail with the following error: "A sequence of more than one item is not allowed as the result of function u:currentChunk()...".
  • A map pulling the content of the same topic several times (i.e. through several topicrefs) caused ditac to fail with the following error: "A sequence of more than one item is not allowed as the result of function u:tocEntry()...".

2.0.3 (June 24, 2011)

Enhancements:

  • In the previous 2.x releases, the only way to exclude a topic was to specify the proper conditional processing attribute on the topicref pointing to this topic. It's now possible to exclude a topic by specifying the proper conditional processing attribute on the topic itself.
  • XSL-FO intermediate format: when the XSL-FO processor being used is XMLmind XSL-FO Converter, ditac makes use of the (new to XFC v4.5) xfc:label-format proprietary attribute in order to convert the choices element to a proper list.
  • Ditac now reports a warning when it automatically replaces an invalid id attribute.

    Note that ditac is not a DITA validator. It checks the value of the id attribute only in a few cases and it requires such value to be a mere NMTOKEN.


2.0.2 (June 2, 2011)

Enhancements:

  • New XSLT stylesheet parameter cover-image makes it easy adding fancy cover pages to the EPUB files generated by ditac.

    This feature has been tested with: Adobe Digital Editions (ADE), Calibre, iBooks on the iPad and Bookworm.

  • Nicer layout of the note element.
  • Upgraded Saxon to version 9.3.0.5.

2.0.1 (April 12, 2011)

Bug fixes:

  • JavaTM Help output format: the jhelpmap.jhm file generated by ditac contained only the IDs of the elements pointed to by the TOC and the Index entries. This was insufficient to implement a contextual online help. Now the jhelpmap.jhm contains the IDs of all elements.
  • JavaTM Help output format: all the links created by ditac and having a fragment (example: <a href="foo.html#bar">) were broken. We have found that the Java Help system is not able to scroll to an HTML element identified by its id attribute and that, instead, it relied on named anchors (example: <a name="bar"> somewhere in foo.html).
  • In a bookmap, a preface containing nested topics caused ditac to raise a NullPointerException.

Incompatible changes:

  • During conref transclusion, ditac no longer checks the compatibility of the domains of the referencing document with the domains of the referenced document. This can be changed by defining system property DITAC_CHECK_DOMAINS (that is, adding -DDITAC_CHECK_DOMAINS=1 to the bin/ditac shell script or to bin/ditac.bat). However, the verifications performed by ditac are almost certainly not conforming as we have not really understood the spec.

2.0.0_02 (March 10, 2011)

Enhancements:

  • Added a -dryrun option to command ditac. This command allows to use ditac as a validator. That is, when the -dryrun option is specified, ditac will not generate any file. It will just report errors (if any).

Bug fixes:

  • XSL-FO intermediate format: q elements were not surrounded by quotes.
  • XHTML output format: image dimensions specifying a unit (pc, pt, px, in, cm, mm, em) in addition to a value were not correctly converted to pixels. For example, width="10.5cm" was not correctly processed by ditac.

2.0.0_01 (January 11, 2011)

Enhancements:

  • Updated the translation of the generated messages (Table of Contents, Chapter, etc) to Czech and Russian thanks to Vít Profant and to Nikolay Rastegaev.

2.0 (December 29, 2010)

XMLmind DITA Converter (ditac) has now extensive support for the DITA 1.2 standard. Ditac 2.0 has less limitations and less specificities than ditac 1.x. It is also more conforming to the DITA 1.2 standard than ditac 1.x was to the DITA 1.1 standard. All in all, even if you do not intend to use any of the DITA 1.2 features in your documents, upgrading to ditac 2.0 is strongly recommended. And if you gave up the idea of using ditac 1.x because of its limitations and specificities, then may be you should give ditac 2.0 a try.

We plan to integrate XMLmind DITA Converter v2.0 in the following products: XMLmind XSL Utility, XMLmind XSL Server, and XMLmind XML Editor Professional Edition within a couple of weeks.

Other enhancements:

  • Upgraded Saxon to version 9.2.1.5.

Removed limitations and specificities (compared to ditac 1.x):

  • Ditac no longer requires all topic IDs to be unique within a given deliverable.
  • A reltable element may now be used to add related links, not only to local topics, but also to non-DITA, external, resources.
  • Navigation links are now automatically generated for topicref elements having attribute collection-type="sequence" or collection-type="family".
  • Topicref attribute search="no" is now supported. It means: ignore indexterm elements found in the topic element referenced by the topicref element.
  • Chunking is now almost conforming to the spec. Almost because "to-navigation" is still completely ignored.

    For example, a map author is no longer required to manually specify chunk="to-content" on almost all topicref elements.

Incompatible changes other than regressions (compared to ditac 1.x):

  • When the chunk attribute is missing or does not contain "select-XXX",
    • <topicref href="foo.dita"/> pulls all the topics, including nested topics, found in foo.dita. That is, it has an implicit chunk="select-document" attribute.
    • <topicref href="bar.dita#bar"/> pulls topic bar, but not nested topics. That is, it has an implicit chunk="select-topic" attribute.
  • XSLT stylesheet parameter "-p number all" will not number example elements, only topic, table and fig elements.

Regressions (compared to ditac 1.x):

  • Because DITA processors are not required to perform conditional processing using metadata elements, ditac no longer considers that metadata elements (e.g. element audience) and conditional processing attributes (e.g. attribute audience) are equivalent when performing conditional processing.
  • Topicref elements found in reltable elements may not be used to pull topics into the deliverable. That's why a map only containing reltable elements may not be used to create a deliverable.

© 2017-2024 XMLmind Software. Updated on 2024/12/8.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Acrobat and PostScript are trademarks of Adobe Systems Incorporated.