2.5.3.2 Modularization

Modularization is at the core of DITA design and implementation. It enables reuse and
extension of the DITA specialization hierarchy.

The DITA XML grammar files are a set of module files that declare the markup and entities that
are required for each specialization. The document-type shell then integrates the modules that
are needed for a particular authoring and publishing context.

Because all the pieces are modular, the task of developing a new information type or domain is
easy. An information architect can start with existing base types
(topic or map) -- or with an existing specialization if it comes close to matching their business
requirements -- and only develop an extension that adds the extra
semantics or functionality that is required. A specialization reuses elements from ancestor
modules, but it only needs to declare the elements and attributes that are unique to the
specialization. This saves considerable time and effort; it also reduces error, enforces
consistency, and makes interoperability possible.

Because all the pieces are modular, it is easy to reuse different modules in different
contexts. For example, a company that produces machines can use the task requirements and hazard
statements domains, while a company that produces software can use the software, user interface,
and programming domains. A company that produces health information for consumers can avoid using
any of the standard domains, and instead develop a new domain that contains the elements
necessary for capturing and tracking the comments made by medical professionals who review their
information for accuracy and completeness.

Because all the pieces are modular, new modules can be created and put into use without
affecting existing document-type shells. For example, a marketing division of a company can
develop a new specialization for message campaigns and have their content authors begin using
that specialization, without affecting any of the other information types that they have in
place.