Glossary · Specialization and domains
DITA specialization
Also known as: specialization, generalization, information type specialization
In DITA, specialization is the mechanism for defining new element types and attributes as extensions of existing ones. A specialized element is based on an existing element, declares its ancestry in the @class attribute and can always be processed, or generalized, as its ancestor.
- DITA
- Architecture
In one sentence
DITA specialization defines new element types based on existing ones; the @class attribute records the ancestry so processors can fall back.
Example
A company specializes <task> into <maintenanceTask>; its class attribute “- topic/topic task/task maintenanceTask/maintenanceTask ” lets a standard processor publish it as a task.
Explained in context
Context cards connect this term with others to answer one question. Also in British English and German.
How it applies
- Technical documentation: Specialization lets an organization create its own document types — for example a “maintenance task” or an “API reference” — without leaving the standard. The new type inherits the processing of its base, so existing publishing pipelines keep working.
- How it works: Each element carries a
@classattribute listing its ancestry, such as- topic/topic task/taskor- topic/body task/taskbody. Processors match on the class value, not the element name, so an unknown specialization is handled like its nearest known ancestor. - Kinds: Structural specialization creates new topic or map types (concept, task and bookmap are themselves specializations). Domain specialization adds elements or attributes that can be used across topic types.
- Generalization: A specialized document can always be converted back to its base types, which makes content exchangeable between organizations with different specializations.
- AI and retrieval: The
@classattribute gives every element a machine-readable meaning. A model or a converter can recognize a custom<torqueValue>as a keyword or phrase by its class ancestry, even without knowing the specialization.
Specialization vs. constraint
Specialization creates new element types with new semantics. A constraint only restricts an existing content model and adds no new semantics.
In DITA markup
The class attribute of a task's body element, as supplied by the document type:
<taskbody class="- topic/body task/taskbody ">…</taskbody>