XMLmind logoCompany | Contact | Site Map
 
 

Change History

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.

1.2.2_01 (September 2, 2010)

Bug fixes:

  • The id attribute of a descendant element of a topic element was erroneously considered to be a NCName. In fact, it's an NMTOKEN. This bug lead to false "don't know how to generate link text for this element; please specify the link text manually" warnings.

1.2.2 (August 7, 2010)

Enhancements:

  • Improved the rendering of complex tables. For example, removed the following limitations:
    • In order to inherit align, rowsep and colsep from a colspec, an entry must refer to it explicitly using its colname or its namest attribute.
    • Attributes colname or namest cannot be used to skip columns.
    • Something like colwidth="2*+3pt" is ignored (i.e. treated as if it were colwidth="1*").
  • Added parameter xhtml-mime-type. Its default value is "text/html", which means serve XHTML as HTML. However Web browsers such as Firefox or Opera will not render the MathML embedded in XHTML, if this XHTML is served as HTML. Therefore when your DITA document contains MathML equations, you'll have to generate ".xhtml" files (".html" files won't work) and also, preferably, to specify xhtml-mime-type="application/xhtml+xml" or xhtml-mime-type="".

1.2.1_02 (July 18, 2010)

Enhancements:

  • Made much more customizable the header and footer created by the stylesheets that generate XSL-FO. Added properties: header-left-width, header-center-width, header-right-width, footer-left-width, footer-center-width, footer-right-width, and attribute-sets: header, footer, header-left, header-center, header-right, footer-left, footer-center, footer-right, for that. See xsl/fo/pagination.xsl.

Bug fixes:

  • MS-Word 2003 failed to properly render the WordprocessingML generated for the List of Tables, the List of Figures, etc.

1.2.1_01 (May 31, 2010)

Bug fixes:

  • Failed to transclude ``conref-ed'' images, that is, elements such as <image href="???" conref="foo/bar.png"/>.

1.2.1 (April 13, 2010)

Enhancements:

  • Conditional processing attributes specialized from props (e.g. attribute customer because the domains attribute of a map includes something like "a(props customer)") and added to topicref elements are now taken into account.
  • Conditional processing is now also applied to the information (title of a map, metadata of a map) collected by ditac in order to generate the title page of a document.
  • The generated messages (Table of Contents, Chapter, etc) have been translated to Czech by Vít Profant.
  • Upgraded Saxon to version 9.2.0.6.

Bug fixes:

  • When option -p title-page custom_title_page was specified and the map to be converted didn't have a title attribute or child element, the generated document had no title page.
  • XMLmind DITA Converter (ditac) always returned a 0 (success) exit code even when XMLmind XSL-FO Converter (XFC) failed with a non-zero exit code. Note that in order to fix this bug, you need to use ditac with XFC v4.4+.

1.2 (March 6, 2010)

Enhancements:

Bug fixes:

  • XSL-FO intermediate format: a footnote inherited its font style and its font weight from its container.
  • XSL-FO intermediate format: converting a map which ends with a reltable pulling topics (that is, these topics are not referenced directly or indirectly anywhere in the topicref hierarchy) and instructing ditac to generate an index at the end of the document caused the conversion to fail with error message: "fatal error reported by the XSLT engine: A sequence of more than one item is not allowed as the first operand of 'eq'".
  • A notices element having no href attribute caused the conversion to fail with error message: "An empty sequence is not allowed as the result of function u:nextSequenceName()".
  • Made all the IDs automatically generated by ditac as short as possible. The reason of this change is that some output formats (e.g. .docx) do not support cross-references having long IDs.

    The following sed script may be used to convert old automatically generated IDs to new automatically generated IDs:

    s/__XSL_RESOURCE_\([0-9]*\)__/__RES\1/g
    s/__TOC__/__TOC/g
    s/__TOC_ENTRY_\([0-9]*\)__/__TOCE\1/g
    s/__TITLE__/__TT/g
    s/__TITLE_PAGE__/__TP/g
    s/__TABLE_LIST__/__LOT/g
    s/__MAP__\.ditamap/__MAP.ditamap/g
    s/__INDEX_LIST__/__IDX/g
    s/__IMAGE_\([0-9]*\)__/__IMG\1/g
    s/__IDENTIFIER__/__ID/g
    s/__ID\([0-9A-Za-z]*\)__/I_\1_/g
    s/__FIGURE_LIST__/__LOF/g
    s/__EXAMPLE_LIST__/__LOE/g
    s/__END_OF_TOPIC__/__EOT/g
    s/__END_OF_FRONTMATTER__/__EOFM/g
    s/__END_OF_BODYMATTER__/__EOBO/g
    s/__END_OF_BACKMATTER__/__EOBM/g
    s/__-__/__/g

Incompatibilities:

  • Though not mandated by the DITA standard, XMLmind DITA Converter now checks that all the topics which compose the document to be converted have distinct IDs. If this is not the case, a fatal error is reported.
  • The qualified ID of a descendant element of a topic is now transformed as follows: topicID/descendantID becomes topicID__descendantID in the generated content. (The separator string being used comprises two underscore characters.) Previously, it was topicID__-__descendantID, which was longer and less readable.

1.1.0_02 (December 4, 2009)

Enhancements:

  • XMLmind DITA Converter now detects the following suspicious case and reports a warning: a topic is referenced in the map but does not appear in the output document. This is generally caused by a missing or erroneous chunk specification.

1.1.0_01 (November 10, 2009)

This is just a patch release. Its distribution differs from the 1.1 distribution only by the ditac.jar it contains.

Bug fixes:

  • Using a topicref to include a map containing only reltables into another map (see example below) didn't work.
    <topicref href="TS_EX_reltable.ditamap" format="ditamap"/>

1.1.0 (November 9, 2009)

Enhancements:

  • XMLmind DITA Converter now allows to convert DITA documents to Eclipse Help.
  • Replaced parameters page-header and page-footer by the following parameters: header-left, header-center, header-right, header-separator, header-left-image, header-center-image, header-right-image, footer-left, footer-center, footer-right, footer-separator, footer-left-image, footer-center-image, footer-right-image. The new parameters allow to better control the contents of page headers and footers. For example, such parameters may now be used to display a logo in a page header or footer:
    -p header-left-image in/icon_small.svg 
    -p footer-center "Page %page-number% of %page-count%"

    Notice the mix of text and variables in footer-center.

  • Added a title-page parameter to all the XSLT stylesheets. The possible values of this parameter are:
    auto
    Default value. Automatically generate a ``title page'' based on the title and metadata of the map.
    none
    Do not generate a title page.
    URI_of_custom_title_page
    Specifies the URI of a custom title page. This custom title page is an XHTML file for XHTML-based formats (XHTML, HTML Help, etc). This custom title page is an XSL-FO file for FO-based formats (PDF, RTF, etc). Such custom title pages are generally hand-written.
  • The automatically generated title page now includes the last created or revised child element of the critdates element found in the metadata of a map. The value of the golive attribute (publication date) has priority over the value of created/@date and revised/@modified (modification date).

    If the value of a date is formatted as YYYY-MM-DD, then the generated title page contains a localized form corresponding to the language of the map. Otherwise, the value of the date (e.g. "October 12, 2007") is copied as is to the generated title page.

  • The searchtitle of a topic, if any, is now used to specify the title of the generated HTML page. The searchtitle element may be specified in topic/titlealts or in topicref/topicmeta.
  • Added the -options (short name -o) option. This option allows to specify a text file containing command-line arguments. Example:
    $ ditac -v -o html.options foo.htm foo.ditamap

    If html.options contains:

    -format html
    -p css http://www.acme.com/css/acme.css

    then this is equivalent to running:

    $ ditac -v -format html -p css http://www.acme.com/css/acme.css \
        foo.htm foo.ditamap
  • The -toc option will not add a toc element to a map when this map contains a single topicref having no nested topicref descendants.
  • Slightly changed the default chunking policy of ditac. When a map does not specify chunk="to-content" at all and when this map is to be converted to a screen media (XHTML, HTML Help, etc), ditac adds chunk="to-content" to all topicrefs which are direct children of the map. However, if a map contains a single topicref, ditac will also add chunk="to-content" to all topicrefs which are direct children of this root topicref.
  • Added a minimal workaround for the following RenderX XEP limitation: space-after.conditionality="discard" is not implemented, fallback value is "retain". As a consequence of this limitation, there was much too space between list items.
  • The generated messages (Table of Contents, Chapter, etc) have been translated to Russian by Nikolay Rastegaev.

Bug fixes:

  • No content was generated for the itemgroup element.

Incompatibilities

  • Replaced parameters page-header and page-footer by parameters: header-left, header-center, header-right, header-separator, header-left-image, header-center-image, header-right-image, footer-left, footer-center, footer-right, footer-separator, footer-left-image, footer-center-image, footer-right-image.
  • Java Help/HTML Help parameter show-title-page has been replaced by a combination of new common parameter title-page and of new Java Help/HTML Help parameter add-toc-root:
    show-title-pageEquivalent title-page and add-toc-root
    show-title-page=yestitle-page=auto and add-toc-root=no
    show-title-page=notitle-page=no and add-toc-root=no
    show-title-page=toc-roottitle-page=auto and add-toc-root=yes
  • The value of Java Help/HTML Help parameter number-toc-entries is now no by default. This is consistent with the default value of common parameter number which is an empty string. That is, by default, nothing is numbered.

1.0.0_01 (October 22, 2009)

This is just a patch release. Its distribution differs from the 1.0 distribution only by the ditac.jar it contains.

Enhancements:

  • Any attribute (that is, not only audience, platform, product, rev, otherprops and props) can be used to filter or flag an element. Previously, it was not possible to use attributes belonging to a namespace (e.g. xml:lang).

Bug fixes:

  • When a .ditaval file contained the following specification
    <prop att="audience" action="exclude" /> 
    <prop att="audience" val="external" action="include" /> 

    elements having a audience="external" attribute were excluded too. This was caused by the fact that action="include" and action="passthrough" were parsed but after that, such actions were completely ignored.


1.0 (September 23, 2009)

Initial release.