DITA Support
Overview
Should Daisy support DITA? Why? If so, how?
This document describes the basics of the DITA standard for topic-based XML authoring, why the standard is of potential interest to Daisy users, and some possible ways that Daisy might be extended to support use of DITA.
This is a discussion document to start thinking about possible DITA Support in Daisy -- please add comments.
What's DITA?
Darwin Information Typing Architecture (or DITA) is an XML-based standard (it originated at IBM and is now an OASIS standard) for authoring and managing technical documentation. DITA is designed to support structured, topic-based information. As such it is ideal for Help systems and other information sets consisting of modular information with many topics of the same type(s).
The basics
At its core DITA consists of a series of DTDs (or schemas) for representing two main types of structures -- topics, which hold content; and topic maps, lists of topics used to assemble topics into information sets (such as books or a Help systems).
Advanced
The DITA standard also includes several other features; for example, conrefs provide a standard for reusing chunks of content within other topics. DITA also includes a standard approach to modifiying the topics ('specialization'). Specialized topic types can be defined by specifying the differences from the base topic types. Specialized topics can be processed by any DITA-aware system, even if it does not know about the specializations. DITA thus provides a strategy for creating content in an industry-standard format that is portable between DITA compatible systems.
Support
DITA is supported by a growing community. Support includes the DITA Open Toolkit which can be used to process DITA topics; this supports transformation into PDF, HTML Help, JAVA Help and other formats. Interestingly from a Daisy perspective, the scope of the toolkit does not include the creation of the XML-based DITA topics.
Why is DITA relevant to Daisy?
Daisy and DITA have overlapping audiences; both are of interest to technical publishers. Their strengths are different and complimentary -- DITA users need ways to create and manage their topics, while Daisy users could benefit from being able to exchange files with DITA-aware tools and systems. DITA supported in Daisy would provide an ideal environment for creating and managing DITA Topics.
At first glance it also seems that these could work together well. Though there are differences, their conceptual architectures have a lot in common. At an implementation level Daisy topics are a lot like DITA topics, and Daisy navigation documents are a lot like DITA topic maps.
DITA topic files can be created with any XML-compatible editor (including Notepad), and topics can be stored in just about any file system, including a regular LAN directory. However a content management environment offers significant benefits for managing sets of topics, especially large sets.
More and more CMS vendors are offering DITA support; however as of this writing (January 2008) I know of no open source CMS supporting DITA. Support for DITA in Daisy would allow users to put together an end-to-end open source CMS-based DITA publishing solution, which would be very attractive on several fronts.
Conceptually, this would support import and export of topics in an industry-standard format. DITA compatibility would make Daisy attractive by decoupling the data format from the system, providing protection against locking up data in a proprietary format. It could also make it easier to import existing DITA content into Daisy. Perhaps of more immediate interest, the ability to publish Daisy topics via any DITA-compatible system could enhance Daisy's value for content management, aligning it with a growing standard and immediately making it relevant to a whole new audience.
Users of the Open Source toolkit are looking for ways to manage DITA topics. Daisy could fill this need.
Possible ways to support DITA
From easy to hard, possible levels at which Daisy might support DITA. (To quote DITA architect Michael Priestley's mantra, 'Crawl, walk run.')
Export Daisy documents as 'DITA-friendly' topics
It is fairly easy by following a few manual rules to set up 'DITA-conforming' Daisy documents which could be transformed into DITA topics using a simple XSLT transform, and conforming Navigation documents could be converted to Ditamaps. The easiest way to do this would probably be to write a Daisy Book type that outputs a set of DITA files. (At a minimum vanilla DITA support would have to include a base topic type; it might also include several standard specializations, e.g. 'procedure topic' and 'reference topic'.) This support could work without changing the Daisy HTML tag set.
Support DITA Tags in Daisy HTML
A next step might be to incorporate DITA information in Daisy documents. This could also allow preserving DITA-specific structure information when importing 'basic' DITA topics into Daisy.
Validating DITA XML
A level up from that would be to support use of a DITA-aware editor and use Daisy to store native DITA topics, perhaps with translation to Daisy HTML for rendering in Daisy.
Specialization
An advanced approach would include the ability to support arbitrary specialization (such as an 'error message' document type, to give a common example).
What are the issues?
There appear to be several technical issues. An obvious one is that Daisy out of the box does not provide a validating XML editing environment. Daisy's HTML format is not the same as the DITA format. Full DITA support would require the ability to support validation and specialization.
There are also a host of other details. A few basic questions: How would Daisy's feature set map to DITA's strategy for categorizing and processing topics? There would need to be a more detailed mapping of features. Daisy document fields for example would probably map to tags within a DITA topic. Other features may or may not map cleanly -- Daisy's versioning model is well developed, for example. Any conflict there? Do Daisy includes map to DITA conrefs? How would a Daisy author creating DITA topics be affected?
Suggested next steps
First, gauge interest. Is there interest among Daisy users? Are there practical benefits?
Second, anyone who's interested can begin to discuss an action plan or possible strategy. What are the priorities? What are the technical issues?
If you're interested, you can respond via the mailing list, and begin to post ideas, issues, or any other relevant information.
- Peter Dykstra, Metaphor X LLC, 07 Jan 2008



There are no comments.