DITA topics
DITA topics
DITA topics are the basic units of DITA content and the basic units of reuse. Each topic contains a single subject.
The topic as the basic unit of information
In DITA, a topic is the basic unit of authoring
and reuse. All DITA topics have the same basic structure: a title and, optionally, a body
of content. Topics can be generic or more specialized; specialized topics represent more
specific information types or semantic roles, for example,
<concept>
, <task>
, or
<reference>
DITA topics consist of content units that can be as generic as sets of paragraphs and unordered lists or as specific as sets of instructional steps in a procedure or cautions to be considered before a procedure is performed. Content units in DITA are expressed using XML elements and can be conditionally processed using metadata attributes.
Classically, a DITA topic is a titled unit of information that can be understood in isolation and used in multiple contexts. It is short enough to address a single subject or answer a single question but long enough to make sense on its own and be authored as a self-contained unit. However, DITA topics also can be less self-contained units of information, such as topics that contain only titles and short descriptions and serve primarily to organize subtopics or links or topics that are designed to be nested for the purposes of information management, authoring convenience, or interchange.
DITA topics are used by reference from DITA maps. DITA maps enable topics to be organized in a hierarchy for publication. Large units of content, such as complex reference documents or book chapters, are created by nesting topic references in a DITA map. The same set of DITA topics can be used in any number of maps.
DITA topics also can be used and published individually; for example, one can represent an entire deliverable as a single DITA document that consists of a root topic and nested topics. This strategy can accommodate the migration of legacy content that is not topic-oriented; it also can accommodate information that is not meaningful outside the context of a parent topic. However, the power of DITA is most fully realized by storing each DITA topic in a separate XML document and using DITA maps to organize how topics are combined for delivery. This enables a clear separation between how topics are authored and stored and how topics are organized for delivery.
The benefits of a topic-based architecture
Topics enable the development of usable and reusable content.
While DITA does not require the use of any particular writing practice, the DITA architecture is designed to support authoring, managing, and processing of content that is designed to be reused. Although DITA provides significant value even when reuse is not a primary requirement, the full value of DITA is realized when content is authored with reuse in mind. To develop topic-based information means creating units of standalone information that are meaningful with little or no surrounding context.
By organizing content into topics that are written to be reusable, authors can achieve several goals:
- Content is readable when accessed from an index or search, not just when read in sequence as part of an extended narrative. Since most readers do not read technical and business-related information from beginning to end, topic-oriented information design ensures that each unit of information can be read independently.
- Content can be organized differently for online and print delivery. Authors can create task flows and concept hierarchies for online delivery and create a print-oriented hierarchy to support a narrative content flow.
- Content can be reused in different collections. Since a topic is written to support random access (as by search), it should be understandable when included as part of various product deliverables. Topics permit authors to refactor information as needed, including only the topics that apply to each unique scenario.
- Content is more manageable in topic form whether managed as individual files in a traditional file system or as objects in a content management system.
- Content authored in topics can be translated and updated more efficiently and less expensively than information authored in larger or more sequential units.
- Content authored in topics can be filtered more efficiently, encouraging the assembly and deployment of information subsets from shared information repositories.
Topics written for reuse should be small enough to provide opportunities for reuse but large enough to be coherently authored and read. When each topic is written to address a single subject, authors can organize a set of topics logically and achieve an acceptable narrative content flow.
Disciplined, topic-oriented writing
Topic-oriented writing is a disciplined approach to writing that emphasizes modularity and reuse of concise units of information: topics. Well-designed DITA topics can be reused in many contexts, as long as writers are careful to avoid unnecessary transitional text.
- Conciseness and appropriateness
- Readers who are trying to learn or do something quickly appreciate information that is written in a structure that is easy to follow and contains only the information needed to complete that task or grasp a fact. Recipes, encyclopedia entries, car repair procedures; all serve up a uniquely focused unit of information. The topic contains everything required by the reader.
- Locational independence
- A well-designed topic is reusable in other contexts to the extent that it is context free, meaning that it can be inserted into a new document without revision of its content. A context-free topic avoids transitional text. Phrases like "As we considered earlier" or "Now that you have completed the initial step" make little sense if a topic is reused in a new context in which the relationships are different or no longer exist. A well-designed topic reads appropriately in any new context because the text does not refer the reader outside the topic.
- Navigational independence
-
Most print publications or web pages are a mixture of content and navigation. Internal links lead a reader through a sequence of choices as he or she navigates through a website. DITA supports the separation of navigation from content by assembling independent topics into DITA maps. Nonetheless, writers might want to provide links within a topic to additional topics or external resources. DITA does not prohibit such linking within individual topics. The DITA relationship table enables links between topics and to external content. Since it is defined in the DITA map, it is managed independently of the topic content.
Links in the content are best used for cross-references within a topic. Links from within a topic to additional topics or external resources are best avoided because they limit reuse of the topic. To link from a term or keyword to its definition, use the DITA keyref facility to avoid creating topic-to-topic dependencies that are difficult to maintain. See Key-based addressing
Information typing
Information typing is the practice of identifying types of topics, such as concept, reference, and task, to clearly distinguish between different types of information. Topics that answer different reader questions (How do I? What is?) can be categorized with different information types. The base information types provided by DITA specializations (for example, technical content, machine industry, and learning and training) provide starter sets of information types that can be adopted immediately by many technical and business-related organizations.
Information typing has a long history of use in the technical documentation field to improve information quality. It is based on extensive research and experience, including Robert Horn's Information Mapping and Hughes Aircraft's STOP (Sequential Thematic Organization of Proposals) technique. Note that many DITA topic types are not necessarily closely connected with traditional Information Mapping.
- Develop new information more consistently
- Ensure that the correct structure is used for closely related kinds of information (retrieval-oriented structures like tables for reference information and simple sequences of steps for task information)
- Avoid mixing content types, thereby losing reader focus
- Separate supporting concept and reference information from tasks, so that users can read the supporting information if needed and ignore if it is not needed
- Eliminate unimportant or redundant detail
- Identify common and reusable subject matter
DITA currently defines a small set of well-established information types that reflects
common practices in certain business domains, for example, technical communication and
instruction and assessment. However, the set of possible information types is unbounded.
Through the mechanism of specialization, new information types can be defined as
specializations of the base topic type (<topic>
) or as
refinements of existing topics types, for example, <concept>
,
<task>
, <reference>
, or
<learningContent>
.
You need not use any of the currently-defined information types. However, where a currently-defined information type matches the information type of your content, use the currently-defined information type, either directly, or as a base for specialization. For example, for information that is procedural in nature, use the task information type or a specialization of task. Consistent use of established information types helps ensure smooth interchange and interoperability of DITA content.
Topic structure
All topics have the same basic structure, regardless of topic type: title, description or abstract, prolog, body, related links, and nested topics.
@id
attribute) and a title. The
basic topic structure consists of the following parts, some of which are optional: - Topic element
- The topic element holds the required
@id
attribute and contains all other elements. - Title
- The title contains the subject of the topic.
- Alternate titles
- Titles specifically for use in navigation or search. When not provided, the base title is used for all contexts.
- Short description or abstract
- A short description of the topic or a longer abstract with an embedded short description. The short description might be used both in topic content (as the first paragraph), in generated summaries that include the topic, and in links to the topic. Alternatively, the abstract lets you create more complex introductory content and uses an embedded short description element to define the part of the abstract that is suitable for summaries and link previews.
- Prolog
- The prolog is the container for topic metadata, such as change history, audience, product, and so on.
- Body
- The topic body contains the topic content: paragraphs, lists, sections, and other content that the information type permits.
- Related links
- Related links connect to other topics. When an author creates a link as part of a topic, the topic becomes dependent on the other topic being available. To reduce dependencies between topics and thereby increase the ability to reuse each topic, authors can use DITA maps to define and manage links between topics, instead of embedding links directly in each related topic.
- Nested topics
- Topics can be defined inside other topics. However, nesting requires special care because it can result in complex documents that are less usable and less reusable. Nesting might be appropriate for information that is first converted from desktop publishing or word processing files or for topics that are unusable independent from their parent or sibling topics.
Topic content
The content of all topics, regardless of topic type, is built on the same common structures.
- Topic body
- The topic body contains all content except for that contained in the title or the short description/abstract. The topic body can be constrained to remove specific elements from the content model; it also can be specialized to add additional specialized elements to the content model. The topic body can be generic while the topic title and prolog are specialized.
- Sections and examples
- The body of a topic might contain divisions, such as sections and examples. They might contain
block-level elements like titles and paragraphs and phrase-level elements like API names
or text. It is recommend that sections have titles, whether they are entered directly into
the
<title>
element or rendered using a fixed or default title. <bodydiv>
- The
<bodydiv>
element enables the arbitrary grouping of content within the body of a topic for the purpose of content reuse. The<bodydiv>
element does not include a title. For content that requires a title, use<section>
or<example>
. <div>
- The
<div>
element enables the arbitrary grouping of content within a topic. The<div>
element does not include a title. For content that requires a title, use<section>
or<example>
or, possibly,<fig>
. - Block-level elements
- Paragraphs, lists, figures, and tables are types of "block" elements. As a class of content, they can contain other blocks, phrases, or text, though the rules vary for each structure.
- Phrases and keywords
- Phrase level elements can contain markup to label parts of a paragraph or parts of a sentence as
having special semantic meaning or presentation characteristics, such as
<uicontrol>
or<b>
. Phrases can usually contain other phrases and keywords as well as text. Keywords can only contain text. - Images
- Images can be inserted to display photographs, illustrations, screen captures, diagrams, and more. At the phrase level, they can display trademark characters, icons, toolbar buttons, and so forth.
- Multimedia
- The
<object>
element enables authors to include multimedia, such as diagrams that can be rotated and expanded. The<foreign>
element enables authors to include media within topic content, for example, SVG graphics, MathML equations, and so on.