XMLmind logoCompany | Contact | Site Map
 
 

Change History

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 output 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 output 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 output format: a footnote inherited its font style and its font weight from its container.
  • XSL-FO output 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.