DITA maps and DocBook

A DITA map can assemble content or define relationships between content in processable formats.

A DITA map can nest content or define relationships between content. The content can, of course, be DITA topics to take advantage of granular design, strong typing, and extensible markup. Content can also, however, be provided in a processable format such as HTML or XML by setting the format attribute and (for more precision within the format) the type attribute.

In particular, a DITA map can compose a DocBook book or establish relationships between DocBook articles. (These alternatives were summarized at a high level in http://www.oasis-open.org/events/symposium_2006/slides/Hennum.ppt).

Book composition through a map

A DITA map can define the nesting of the divisions that make up a DocBook book.

A DITA map can be specialized to introduce elements corresponding to the DocBook logical divisions such as book, chapter, section, and so on. The specialized elements can ensure that references to divisions are nested in the proper order, for example, so that a section reference doesn't nest a chapter reference. The DITA map can then be preprocessed to generate a DocBook book and then processed with DocBook tools.

Book content by reference to a map

A DocBook book can be populated with content from to a DITA map.

This solution requires customizing DocBook by adding a single element that refers to DITA maps or topics. A DocBook book can then be preprocessed to replace the references with the result of converting the referenced DITA content to DocBook using the DITA-to-DocBook transform of the DITA Open Toolkit. This approach is described in more detail in Robert Anderson's article, "Implement a DITA publishing solution without abandoning your current publishing system investments" (see http://www-128.ibm.com/developerworks/xml/library/x-dita11/).

Article relationships through a map

A DITA map can express relationships between DocBook articles.

A DITA map can be specialized for convenience to add an element to refer to a DocBook article. The specialized map can express navigation or cross-referencing relationships between a DocBook article and other DocBook articles or DITA topics. A preprocess can then push the relationships into the DocBook articles. A light extension on the DocBook processing can then format the links during processing to XHTML.