DITA Open Toolkit Release 1.7

General Enhancements and Changes

The minimum Java version has changed from 5.0 to 6.

Added support for abbreviated-form processing in PDF.

X/HTML processing code has been streamlined to make it faster and easier to read.

Ant proprocessing dependencies have been cleaned up to make tasks easier to use independently.

Numerous internal improvements not directly visible to most end users; see feature and patch list for details.

Preprocessing

By default, DITA-OT no longer normalizes file extensions to .xml. Temporary files will retain the original file extensions, unless dita.ext parameter is used to force file extension normalization to a given value.

Key name validation has been added. If an invalid key name is found, DOTJ055E error is thrown.

Migration from previous releases

A new job status file .job.xml has been introduced and replaces dita.list and dita.xml.properties as the normative source for job status. If you have custom processing which modifies the job properties, you should change your code to modify .job.xml instead.

Support for the following deprecated properties have been removed:

  • dita.input
  • dita.input.dirname
  • dita.extname

Stylesheets for the following transtypes have moved to plug-in specific folders:

  • docbook
  • eclipsecontent
  • troff
  • wordrtf

If custom plug-ins have hard coded paths to these stylesheets, update references to use either plugin URIs in xsl:import instructions or use dita.plugin.* Ant properties.

The integration process has been changed to use strict mode by default. For old plug-ins which are not valid, lax processing mode can still be used.

Plug-ins that use the MessageUtils Java class must use getInstance method to access the MessageUtils instance, as getMessage methods have been changed to instance methods.

Preprocessing

The preprocessing Ant dependency chain has been cleaned up. Tasks no longer depend on the previous task in the default chain, but rather the whole preprocess dependency chain is defined by the preprocess task.

HTML

Core TOC generation has been moved to a separate XSLT stylesheet xsl/map2htmtoc/map2htmlImpl.xsl and the new templates use the mode toc. Plug-ins which override HTML TOC processing should change the map processing templates to toc mode.

HTML and extended transform types

Flagging logic has been pulled out of the core X/HTML code and moved to a preprocess step. This significantly simplifies and optimizes the X/HTML code, while making flagging logic available to any other transform type. The new preprocess step implements all flagging logic; for each active flag, it adds a DITA-OT specific hint into the intermediate topics (implemented as a specialization of the DITA <foreign> element). As part of this change, all flagging related templates in the XHTML code (such as start-flagit and gen-style) are deprecated.

If you override the X/HTML transforms, you may need to update your overrides to use the new flagging logic. In most cases this just means deleting calls to the deprecated templates; in some cases, the calls can be replaced with 2 lines to process flags in new places. You should compare your override to the updated XHTML code and update as needed. See "XHTML migration for flagging updates in DITA-OT 1.7" in the DITA-OT pre-processing architecture section for details.

Plug-ins that provide support for new transforms need to ensure that they properly support the DITA <foreign> element, which should be ignored by default; if so, this change will have no immediate impact. Support for flagging new transform types may be more easily added based on this update, because there is no need to re-implement flagging logic, but this is not required. See "Flagging in the toolkit" in the DITA-OT pre-processing architecture section for details on how to add flagging support.

PDF

The following deprecated XSLT variables have been removed:

  • page-margin-left
  • page-margin-right

XSLT stylesheets have been split to separate specialization topic code and new xsl:import instructions have been added to topic2fo.xsl. Plug-ins which define their own shell stylesheet should be revised to import all the required stylesheet modules.

PDF processing used to replace topic shortdesc with map shortdesc, but this behaviour was incorrect and was removed to comply with the DITA specification.

The following variable strings have been added:

  • #note-separator

Issues

The following items are included in DITA Open Toolkit Release 1.7. Issue numbers correspond to the tracking number in the GitHub issues tracker.

Feature requests

  • #1144 Produce HTML5 output (milestone 1)
  • #1319 Remove deprecated code (milestone 1)
  • #1339 PDF, flagged image : change use-attribute-sets="image" (milestone 1)
  • #1141 XHTML: ability to include TOC in every topic (milestone 2)
  • #1331 Possibility to customize <stepresult> in HTML output (milestone 2)
  • #1366 pdf index entries have too many keep-with-previous (milestone 2)
  • #1379 Use format attribute to identity DITA topics (milestone 2)
  • #1384 Validate key names (milestone 2)
  • #1388 Remove temporary file file-extension normalization (milestone 2)
  • #1288 Use strict integration by default (milestone 3)
  • #1327 Change minimum Java version to 6 (milestone 3)
  • #1391 Add new job status file format (milestone 3)
  • #1398 Allow defining source input base directory (milestone 3)
  • #1403 Refactor XEP index processing to extend base index processing (milestone 4)
  • #1405 Provide catalog URL rewrite for common XSL files (milestone 4)
  • #1313 Separate flagging logic from XHTML code (milestone 4)
  • #1312 Refactor preprocessing to use SAX filters (release candidate)
  • #1317 General XHTML improvements (release candidate)
  • #1324 Avoid strings where other types are more appropriate (release candidate)
  • #1338 Add named error messages (release candidate)
  • #1345 Add source location to error messages (release candidate)
  • #1389 Move stylesheets and resource files to plug-in folder (release candidate)

Patches

  • #1350 Move table specializations into separate stylesheets (milestone 1)
  • #1359 Fix text overflow issue in PDF ToC entries with long titles. (milestone 1)
  • #1352 Wrap itemgroup task elements into <div> elements #1331 (milestone 2)
  • #1400 Updates on the build instructions plus a fix in one of the dost classes that made the build fail (milestone 4)
  • #1401 Disable XSD Grammar caching (milestone 4)

Bugs

  • #1316 Conref error message missing the @conref value (milestone 1)
  • #1321 Fix path2project separator clean-up (milestone 1)
  • #1322 Xref to table cell does not properly navigate to it (milestone 1)
  • #1323 @relcolwidth attribute not taken into account when transforming <choicetable> to PDF using Apache FOP (milestone 1)
  • #1325 Variable "Index See Also String" missing from Hebrew (milestone 1)
  • #1329 PDF2 indexing fails for ranges (milestone 1)
  • #1330 Spaces in Filenames in 1.6 (milestone 1)
  • #1332 output-deprecated-msg deleted; still referenced (milestone 1)
  • #1335 Link to see/see also in index is broken (milestone 1)
  • #1340 The "DitaWriter" class does not properly resolve entities when catalogs are referenced with <nextCatalog> in the catalog-dita.xml (milestone 1)
  • #1343 Topics with spaces in file name appear twice (milestone 1)
  • #1346 Cannot determine the title of a xreffed topic (milestone 1)
  • #1348 Topics copied using "copy-to" become not wellformed (DITA OT 1.6.1) (milestone 1)
  • #1349 "Ambiguous rule match" in PDF processing XSLT when <choicetable> is used in topic (milestone 1)
  • #1351 'Unexpected Text' root-processing_axf.xsl bug (milestone 1)
  • #1353 dita2htmlImpl.xsl/add-br-for-empty-cmd ... content match (milestone 1)
  • #1354 xml comment not being stripped correctly in preprocessing (milestone 1)
  • #1357 NPE when image is incorrectly referenced when publishing to HTML (milestone 1)
  • #1358 Cannot cross reference definition list items (dlentry, dt, dd) in PDF (milestone 1)
  • #1365 pdf duplicate see-also entries in Index (milestone 2)
  • #1369 prodinfo seems to lead to "(file) does not exist", where file has spaces in name (milestone 2)
  • #1370 Links to files with spaces in name broken (milestone 2)
  • #1371 build_demo uses deprecated Ant property (milestone 2)
  • #1377 htmlhelp ampersand (&amp;) entity in indexterm does not convert (milestone 2)
  • #1378 dita.out.map.htmlhelp.hhk: target doesn't allow topic with empty indexterm (milestone 2)
  • #1382 Merging uses system path separator when rewriting URIs (milestone 2)
  • #1393 shortdesc in map overrides topic shortdesc (milestone 5)
  • #1398 Genlist processes file multiple times (milestone 3)
  • #1402 Foreign and Unknown elements not ignored in PDF (milestone 4)
  • #1404 buildsample file in TocJS plug-in hard codes old demo path (milestone 4)
  • #1237 abbreviated-form is not rendered as link to glossentry (milestone 4)
  • #1193 abbreviated-form not handled at all in PDF output (release candidate)
  • #1409 Stylesheet imported multiple times in the hierarchy (reloaded) (release candidate)
  • #1413 Mapref resolution cascades role (release candidate)
  • #1416 German translation update (release candidate)
  • #1197 Handling of @href on a <glossarylist> (final release)
  • #1362 href attribute in appendices element breaks PDF conversion (final release)
  • #1411 Files with ".orig" extension missing from distribution (final release)
  • #1418 PDF2 transtype breaks when bookmap has parts (final release)
  • #1425 XHTML flagging included before imports (maintenance 1)
  • #1428 Topic level calculated incorrectly for appendices (maintenance 1)
  • #1427 Fix text overflow issue in lot/lof entries with long titles (maintenance 1)
  • #1430 PDF transformation: Problems with index in OT 1.7 (maintenance 1)
  • #1432 startcmd.sh broken in 1.7 (maintenance 1)
  • #1433 Profiling filter included multiple times (maintenance 1)
  • #1437 Fatal UTF-8 error in .job.xml (maintenance 2)
  • #1456 XHTML Build failed when referencing subject scheme in different file path (maintenance 3)
  • #1423 Formatting glitch in PDF index (maintenance 4)
  • #1468 Reference to remote image does not appear in PDF (maintenance 4)
  • #1469 @outputclass and @class values not passed from <chhead> to <tr> in XHTML output (maintenance 4)
  • #1472 PDF output: whitespace not preserved in msgblock element (maintenance 4)
  • #1475 Error received in console does not point correctly to location of published DITA Map (maintenance 4)
  • #1477 Tables: using percentage in colwidth values [PDF2 plugin] (maintenance 4)

Was this helpful?