What is DITA?
This section explains the basic principles of DITA.
Defintion: DITA defines an XML architecture for designing, writing, managing, and publishing
many kinds of information in print and on the Web.
Source: The DITA Style Guide Best Practices for Authors - Introduction to DITA
- DITA is an XML architecture and writing methodology, originally developed for creating software documentation.
- DITA stands for the Darwin Information Typing Architecture.
- The "Darwin" is a homage to Charles Darwin, who has developed the theory of evolution. DITA incorporates evolutionary principles (specialization, adaption and inheritance).
Maps and topics
DITA contains multiple map and topic types. All of them are designed to serve a specific purpose.
Maps
Maps are used for structuring content.
Map | Description |
---|---|
<map> |
Describes the relationships among a set of resources, such as DITA topics |
<bookmap> |
Special map type with elements needed to specify information needed to publish documentation as books |
Topics
Topics contain the information (text and multimedia)
Topic | Description |
---|---|
<topic> |
Generic topic type |
<concept> |
Contains background information that helps readers understand essential information about a product, a task, a process, or any other conceptual or descriptive information |
<task> |
Contains instructions for the completion of a procedure |
<reference> |
Provides lists and tables that include product specifications, parts lists, and other data that is often "looked up" rather than memorized |
<glossentry> |
Represents a glossary entry |
Elements, Domains and Specializations
DITA has hundreds of pre-defined elements that are bundled in domains. Domains can be stripped out or added, if necessary.
- Specialized maps, topics and elements always base on specific base elements.
- New maps, topics and elements must be as restrictive or more restrictive than the base information type.
- Specializations are created by writing new schemas (Relax NG, XML Schema or DTD).
Why specialization?
- Specialized structures can be used to create more specific search, validation, filtering and re-use.
- Special product architectural requirements can be mapped on new structures.
- Specializations can be easily shared with other teams or business partners.
- Because specialized maps, topic and elements are based on a base vocabulary, these specialized elements can use the same processing as the base elements or can be processed different.
Highlighting Domain
The highlighting domain contains elements, that can be used to emphasize information.
The table shows the elements of the highlighting domain and their base elements.
Element Name | Based On | Decription |
---|---|---|
<b> |
<ph> |
To apply bold highlighting to the content of the element |
<i> |
<ph> |
To apply italic highlighting to the content of the element |
<line-through> |
<ph> |
Indicates text that is rendered with a line struck through the content |
<overline> |
<ph> |
Indicates content that is rendered with a line above it |
<sub> |
<ph> |
Indicates that text should appear with subscript highlighting |
<sup> |
<ph> |
Indicates that text should appear with superscript highlighting |
<tt> (teletype) |
<ph> |
To apply monospaced highlighting to the content of the element |
<u> |
<ph> |
To apply underline highlighting to the content of the element |
Software Domain
The software domain contains elements, that can be used to explain software.
The table shows the elements of the software domain and their base elements.
Element Name | Based On | Decription |
---|---|---|
<cmdname> |
<keyword> |
Name of a command |
<filepath> |
<ph> |
Name of a referenced file, system path, or both |
<msgblock> |
<pre> |
Multi-line message or set of messages |
<msgnum> |
<keyword> |
Number of a message produced by an application or program |
<msgph> |
<ph> |
Message phrase that contains the text content of a message produced by an application or program |
<systemoutput> |
<ph> |
Computer output or responses to a command or situation |
<userinput> |
<ph> |
Text a user should input in response to a program or system prompt |
<varname> |
<keyword> |
Variable that must be supplied to a software application. |