First developed by IBM, DITA goes beyond any previous approach in helping organizations overcome barriers to XML adoption, maximize content reuse, and reduce information redundancies.
Today, DITA is a widely supported specification managed by OASIS (Organization for the Advancement of Structured Information Standards), the industry body responsible for many other business-oriented XML standards.
DITA is an architecture for creating topic-oriented, information-typed content that can be reused and single-sourced in a variety of ways. It is also an architecture for creating new information types and describing new information domains based on existing types and domains. This allows groups to create very specific, targeted document type definitions using a process called specialization, while still sharing common output transforms and design rules developed for more general types and domains.
DITA supports a unique transclusion mechanism that is validated under DTD processing rules: an element "can replace itself with the content of a like element elsewhere, either in the current topic or in a separate topic that shares the same content models. DITA's conref 'transclusion' mechanism is similar to the SGML conref mechanism, which uses an empty element as a reference to a complete element elsewhere. However, DITA requires that at least a minimal content model for the referencing element be present, and performs checks during processing to ensure that the replacement element is valid in its new context. This mechanism goes beyond standard XInclude, in that content can be incorporated only when it is equivalent: If there is a mismatch between the reusing and reused element types, the conref is not resolved. It also goes beyond standard entity reuse, in that it allows the reused content to be in a valid XML file with a DTD. The net result is that reused content gets validated at authoring time, rather than at reuse time, catching problems at their source.
Single Source -> Multiple Formats
HTML Help, JAVA Help, Eclipse Help and PDF output. DITA eliminates the
need to maintain multiple version of the same documents; a process which can
be both error-prone and time consuming.
Content can be reused within and across topics and output formats, making
updating documents easier and reducing development time.
Reuse Content
DITA conditional processing provides a mechanism to produce multiple versions
of a document from the same source. Documents can be created for spefic
Multiple Versions
audience types, platforms, product versions and more, without needing to
maintain multiple sets of content.
Formatting is applied according to your style guidelines by stylesheets, freeing
the writer to concentrate on writing content.
Separation of Content
and Formatting
The DITA DTD assists you in maintaining information that is consistently and
logically formatted and structured across a document set.
Consistency
DITA specialization architecture allows you to use a vocabulary for your XML
that is meaningful to other writers.
Creating DITA
DITA content can be created using any good XML editor. The most useful feature of any editor is the ability
to validate against the DITA DTD. Another extremely useful feature is a menu or list of valid tags that you
can choose from at any point during the creation or editing of a topic.
Even if you choose an editor that gives you a formatted view of your content as you edit it, you will still need
to be familiar with XML, structured document concepts and the general structure of DITA documents. Otherwise
you will find yourself becoming frustrated by the seemingly illogical procedures for adding tags and content.
You can choose to combine multiple topics in a single XML file by using the
creating topics as its children. I prefer to create a single topic per XML file. This can be helpful when you don't
have an expensive content management system, since you can include useful information in the filename
such as the topic type and id i.e concept_creating_content.dita as a first step in managing your content. I find
this invaluable when I am building my ditamaps. It also helps to maintain a 'topic-based' approach to your
content rather than 'book-based' which will allow you to take fuller advantage of DITA content reuse and
conditional processing functionality.
You will need to plan the directory structure of your content files, map files and build scripts. Once again, the
file system can be a useful tool for content management for smaller DITA implementations. Create different
directories for content for different products or other major category and another for common content that will
be shared across many docs.You will also need to plan locations for output for different documents and
formats.
The diagram below shows the directory structure that I use for my content. In keeping with the content reuse
approach, I keep my map files separate from my content files. A map could include content from multiple
content areas/directories to produce a variety of documents.
Aim to keep your content files in a sub-directory of your maps directory. If you have a path which contains
"../" in topicrefs in a map file, you can end up with additional directories in your output directory.
Figure
The DITA Open Toolkit uses a standard XML catalog resolver. This means that you do not need to change
the DTD reference in your content files when you change their path or create files in a new location. An XMLcatalog maps a location to a public identifier. The public identifier is referenced in the DOCTYPE declaration
in your content files and allows the DTD location to be resolved.