Channels ▼


DITA: The Darwin Information Typing Architecture

Level 5: Semantics on Demand

As DITA diversifies to occupy more roles within an organization, single-application solutions can no longer provide the specialized support each author or product may require. Instead, a cross-application, cross-silo strategy that shares DITA as a common semantic currency lets groups use the toolset most appropriate for their content authoring and management needs, while sharing content and even moving authoring responsibility between groups throughout the content life cycle. Beyond automation of known processes, we now have the flexibility to combine new applications and sources of content as needed, providing processing flexibility and an adaptable, evolutionary content strategy.


A financial services company can integrate financial data from a trusted source with quarterly report text and product marketing overviews written in DITA to create different combinations of year-in-review content for employees versus investors. They can also use DITA to create subscribable feeds for news and updates about specific products and investment tips or news items that match an individual investor's portfolio or profile.


There are several major investments needed to reach this level. First, content applications need to be enabled to integrate not just with particular peer applications, but with any peer application that can provide and consume DITA topics and maps. This goes beyond existing DITA content applications and becomes a strategy that covers every source of semantic data or content: DITA becomes the common currency between semantic applications. Data can be exposed as DITA maps; structured or semi-structured content can be exposed as DITA topics at various levels of specialization; and unstructured content such as PDFs, images, or multimedia files can be wrapped using DITA maps to provide a common interface for associating and storing titles, descriptions, and metadata.

Every application that authors, manages, relates, consumes, or publishes content becomes a service that provides DITA content as subscribable feeds. Unlike traditional RSS feeds, DITA feeds have scalable semantic bandwidth: they allow applications with different levels of semantic understanding to continue sharing content. This is accomplished through common agreement on a content currency or language that itself maintains multiple levels of semantics.

Second, an organization needs ways to organize and retrieve these newly consumable sources of DITA content, which means, at a minimum, some basic taxonomies for subject area or product, and potentially a full suite of taxonomies to serve both internal and external audiences, including values for audience, platform, activity, required skills, and so on. These values allow the rapid retrieval and organization of discovered content into task-specific or role-specific assets: forexample, a cross-product installation and orientation guide for a new customer, or a customized set of learning materials for a new employee given the role of administrator for three unfamiliar products.

DITA content services and taxonomies work together to provide a standardized level of semantic interchange across any enabled application, moving the focus from integrating proprietary application APIs to providing general content exchange services based on the DITA schemas and other standards such as Atom and Representational State Transfer (REST). The result is an application ecosystem as diverse and interoperable as the content ecosystem it supports, which can be quickly extended or adapted by adding or replacing components to meet evolving content management or delivery needs.


One of the most immediate and visible returns on investment at this fifth level of adoption is the ability to dynamically personalize content: putting the power of DITA metadata, topics, and map-based publishing into the hands of the audience. When we make data and content available as DITA, it can be integrated and republished using DITA pipelines and services: for example, creating custom PDFs that include indexes and tables of key figures. When we wrap unstructured content using DITA maps, we create a single interface for finding, retrieving, and mashing together any online resource in the organization: for example, tying company financial data into quarterly reports, along with comparative stock performance and industry news feeds.

The following figure shows content wrapped in DITA maps being used in multiple outputs.

[Click image to view at full size]
Figure 8: Dynamically instantiating and publishing

All of this is possible without DITA, of course: dynamic personalization, mashups, and data and content integration have many examples outside the realm of DITA. What DITA offers, however, is a way to gain dividends from your investment by making content and services shareable not just within a repository, or between a specific repository and its consuming applications, but across any and all repositories and services that use or can provide a common unit of content and metadata: DITA topics and maps.

DITA Features Used

This adoption level uses the following DITA features:

  • DITA feeds. Feeds of DITA content allow reusers to subscribe to particular topics or maps, receiving automatic notifications when the source is updated. The feed can provide standard abstracts and metadata to simplify search and retrieval across multiple repositories.
  • Generated DITA for semantic interchange. Content from other structured sources such as databases or other XML standards, or even semi-structured content such as wiki pages, can be exposed as DITA topics of varying types. The generated DITA view of these different information sources provides a common integration point for different types of content, allowing the exchange of structured or semistructured content across format boundaries without loss of underlying semantics. For example, a wiki how-to article type could provide a DITA task form that allows the wiki page to be reused in support portals or policy manuals.
  • DITA wrappers for non-DITA content. Even unstructured or binary content, such as word-processing files or multimedia, can be described in DITA terms using a map that assigns a DITA title, short description, and metadata, making unstructured content in a common repository as searchable and retrievable as the DITA content it sits alongside.
  • Specialized elements for data integration. DITA provides special elements such as <data> and <simpletable7gt; that are designed to integrate data from structured sources such as databases or other XML sources. By specializing these elements, a DITA architect can create integration points between DITA and data sources that provide semantics and validation around where and how the data is included. For example, a specialization for financial reports could include standard elements for selecting and formatting earnings information.
  • Dynamic content. As DITA content becomes subscribable and mashable with other types of content, new dynamic capabilities become available: Web sites can be personalized, users can construct their own manuals, and information delivery becomes dynamic, automatically incorporating new topics or changes to topics. For example, a user could create a custom travel guide that includes a mix of Web articles, restaurant recommendations, and subscribed travel alerts that could be downloaded to their phone and automatically updated as the original DITA sources change.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.