DTD organization

(Non-normative) The OASIS DITA document types are implemented with a set of DTD modules. Some of these modules are used by every DITA document type, others are only used by topics or by maps, and some are only used in specific specializations.

Description of DITA modules

The tables below describe the modules that are defined by the DITA standard.

MP: Stan Doherty comment for 1.2: consider providing table with one column per using doctype to make doctype usage of modules easier to scan

Description of common modules

Common module files Purpose
Common elements (commonElements) Defines all content elements that may appear in both maps and topics.
Metadata elements (metaDecl) Defines meta elements that may appear in both maps and topics
Table elements (tblDecl) Defines the complex tables used within DITA, based on the OASIS Exchange Table model.
DITA Architecture attribute (ditaarch.xsd) XML Schema only - Defines the attribute that defines DITA's architectural version
XML namespace attributes (xml.xsd) XML Schema only - Defines the attributes with the XML namespace

Description of domain modules

Domains Purpose
Indexing domain The indexing domain provides several new elements for use with indexing. The new elements allow authors to define "See" and "See also" references, and to override the default sort order for a term.
Highlight domain The typographic elements are used to highlight text with styles (such as bold, italic, and monospace). Never use these elements when a semantically specific element is available. These elements are not intended for use by specializers, and are intended solely for use by authors when no semantically appropriate element is available and a formatting effect is required.
Programming domain The programming domain elements are used to define the syntax and to give examples of programming languages.
Software domain The software domain elements are used to describe the operation of a software program.
UI domain The user interface domain elements are used to describe the user interface of a software program.
Utilities domain The utilities domain elements represent common features of a language that may not necessarily be semantic, such as image maps.
Map Group domain The mapgroup domain elements define, group, or reference content.
xNAL domain The xNAL domain elements represent a subset of the Extensible Name and Address Standard. The domain can be included in any topic type or map, although the implementations provided by OASIS only include it in the bookmap specialization. It is used to encode information about the author or authors of DITA information.
Hazard Statement domain The hazard statement domain elements represent labeling for product safety hazards that readers need to be aware of. The domain can be included in any topic type or map. Its elements are used to inform readers about potential hazards, consequences, and avoidance strategies
Machine Industry domain The machine-industry task domain contains elements for use describing tasks that involve machines or other pieces of hardware.
Delay Resolution domain The delayed conref resolution domain provides several elements for use when using DITA in situations that enable delayed or run time resolution of conref. The elements allow users to resolve some conref values statically, while delaying others for later resolution.
Abbreviate domain The abbreviate domain element is used to represent a reference to a term that may appear in an abbreviated form (often an acronym).
Glossref domain The glossref domain elements are convenience elements that are used to reference glossary topics or to reference multiple topics in a single collection.
Classify domain The classification domain elements are used to identify subjects covered by the content
Learning domain The learning domain elements represent the base elements that are used to create learning and training content.
Learning Interaction Base domain The learning interaction base domain defines an "abstract" base type for all learning assessments.
Learning Map domain The learning and training map domain organizes groups of topics as learning objects
Learning Metadata domain The learning and training metadata domain describes specific characteristics of the learning content.

Description of topic and its specialization modules

Topic types Purpose
Topic
Topic modules

UI domain
Software domain
Highlight domain
Programming domain
Utilities domain
Indexing domain
Hazard Statement domain
Abbreviate domain 
Base Topic
Topic modules

Highlight domain
Utilities domain
Indexing domain
Hazard Statement domain 
DITABase
Concept modules
Topic modules
Reference modules
Task modules
General Task modules
Glossary Entry modules
GlossGroup modules

UI domain
Software domain
Highlight domain
Programming domain
Utilities domain
Indexing domain
Hazard Statement domain
Abbreviate domain 
Concept
Concept modules
Topic modules

UI domain
Software domain
Highlight domain
Programming domain
Utilities domain
Indexing domain
Hazard Statement domain
Abbreviate domain 
Glossary
Glossary Entry modules
Concept modules
Topic modules

UI domain
Software domain
Highlight domain
Programming domain
Utilities domain
Indexing domain
Hazard Statement domain
Abbreviate domain 
GlossGroup
GlossGroup modules
Concept modules
Topic modules

UI domain
Software domain
Highlight domain
Programming domain
Utilities domain
Indexing domain
Hazard Statement domain
Abbreviate domain 
Reference
Reference modules
Topic modules

UI domain
Software domain
Highlight domain
Programming domain
Utilities domain
Indexing domain
Hazard Statement domain
Abbreviate domain 
Task
Task modules
Topic modules
Strict Taskbody module

UI domain
Software domain
Highlight domain
Programming domain
Utilities domain
Indexing domain
Hazard Statement domain
Abbreviate domain 
General Task
Task modules
Topic modules

UI domain
Software domain
Highlight domain
Programming domain
Utilities domain
Indexing domain
Hazard Statement domain
Abbreviate domain 
Machinery Task
Task modules
Topic modules

UI domain
Highlight domain
Utilities domain
Indexing domain
Hazard Statement domain
Abbreviate domain
Machine Industry domain
Learning Assessment
Learning Assessment modules
Topic modules

Highlight domain
Utilities domain
Indexing domain
Learning domain
Learning Interaction Base domain
Learning metadata domain
Learning Content
Learning Content modules
Learning Assessment modules
Learning Summary modules
Concept modules
Topic modules
Reference modules
Task modules

Highlight domain
Utilities domain
Indexing domain
Learning domain
Learning Interaction Base domain
Learning metadata domain
Learning Overview
Learning Overview modules
Topic modules

Highlight domain
Utilities domain
Indexing domain
Learning domain
Learning Interaction Base domain
Learning metadata domain
Learning Plan
Learning Plan modules
Topic modules

Highlight domain
Utilities domain
Indexing domain
Learning domain
Learning Interaction Base domain
Learning metadata domain
Learning Summary
Learning Summary modules
Topic modules

Highlight domain
Utilities domain
Indexing domain
Learning domain
Learning Interaction Base domain
Learning metadata domain

Description of map and its specialization modules

Map types Purpose
Map
Map modules

Map Group domain
Indexing domain
Delay Resolution domain
Glossref domain

UI domain
Software domain
Highlight domain
Programming domain
Utilities domain
Indexing domain
Hazard Statement domain
Abbreviate domain 
Base Map
Map modules

Map Group domain
Indexing domain
Delay Resolution domain

Highlight domain
Utilities domain
Hazard Statement domain
Bookmap
Bookmap modules
Map modules

Map Group domain
Indexing domain
Delay Resolution domain

UI domain
Software domain
Highlight domain
Programming domain
Utilities domain
Indexing domain
Hazard Statement domain
Abbreviate domain 
Classification Map
Map modules

Map Group domain
Indexing domain
Delay Resolution domain
Classification domain

Highlight domain
Utilities domain
Hazard Statement domain
Subject Scheme
Subject Scheme modules
Map modules

Map Group domain

Highlight domain
Utilities domain
Hazard Statement domain
Learning Map
Map modules

Map Group domain
Indexing domain
Delay Resolution domain
Learning Metadata domain
Learning Map domain

Highlight domain
Utilities domain
Hazard Statement domain              
Learning Bookmap
Map modules
Bookmap modules

Map Group domain
Indexing domain
Delay Resolution domain
xNAL Domain
Learning Metadata domain
Learning Map domain

Highlight domain
Utilities domain
Hazard Statement domain                

Description of constraint modules

Constraint types Purpose
Strict Taskbody The strict task body has a constrained structure.
Machinery Taskbody The machinery task body makes use of elements prelreqs and closereqs instead of prereq and postreq

Public identifiers for DTDs

Each standard DTD has a public identifier that can be used to reference either the latest version or a specific version of the DTD. Each module component has a version-independent public ID as well as a version-specific public ID, one for each version of DITA.

The public IDs follow the pattern "-//OASIS//DTD DITA versionNumber topic-or-map-type//EN", where versionNumber is a DITA version number (1.0, 1.1, etc.) or is omitted entirely and topic-or-map-type is the name of the topic or map type in camel case, e.g., "Concept", "Task", "BookMap", etc.

Note that "OASIS" is the "owner identifier" of the public IDs and indicates artifacts owned by OASIS.

Public identifiers for shells not defined by the DITA Technical Committee should use an owner identifier reflecting the owner of the shell, e.g. "example.com" or "IBM" or a similarly unambiguous identifier. The keyword "DITA" is a convention indicating that the artifact is DITA-related.

The full set of module components and their associated public identifiers is provided in the XML entity resolution catalog that is part of the DITA DTD package.

The identifiers listed below are declared by the DITA Technical Committee for modules that are shipped with the DITA 1.2 distribution. Values that use a version number of 1.2 will always refer specifically to modules delivered with the DITA 1.2 specification. Values that use a version number of 1.x always refer to that module in the latest approved DITA 1.x specification (such as 1.1, 1.2, or 1.3), but will not reference any modules in DITA 2.0 or later. Values without a version number refer to that module in the latest approved DITA specification, regardless of version.

Topic and topic-based specializations

PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"
PUBLIC "-//OASIS//DTD DITA 1.2 Concept//EN" "concept.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Concept//EN" "concept.dtd"

PUBLIC "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd"
PUBLIC "-//OASIS//DTD DITA 1.2 Composite//EN" "ditabase.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Composite//EN" "ditabase.dtd"

PUBLIC "-//OASIS//DTD DITA Glossary Entry//EN" "glossentry.dtd"
PUBLIC "-//OASIS//DTD DITA 1.2 Glossary Entry//EN" "glossentry.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Glossary Entry//EN" "glossentry.dtd"

(NOTE: the glossary.dtd file is provided for backward compatibility with
DITA 1.1. Documents should use the glossentry.dtd in new documents.)

PUBLIC "-//OASIS//DTD DITA Glossary//EN" "glossary.dtd"
PUBLIC "-//OASIS//DTD DITA 1.2 Glossary//EN" "glossary.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Glossary//EN" "glossary.dtd"

PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd"
PUBLIC "-//OASIS//DTD DITA 1.2 Reference//EN" "reference.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Reference//EN" "reference.dtd"

PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd"
PUBLIC "-//OASIS//DTD DITA 1.2 Task//EN" "task.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Task//EN" "task.dtd"

PUBLIC "-//OASIS//DTD DITA General Task//EN" "generalTask.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x General Task//EN" "generalTask.dtd"
PUBLIC "-//OASIS//DTD DITA 1.2 General Task//EN" "generalTask.dtd"
    
PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd"
PUBLIC "-//OASIS//DTD DITA 1.2 Topic//EN" "topic.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Topic//EN" "topic.dtd"

PUBLIC "-//OASIS//DTD DITA Base Topic//EN" "basetopic.dtd"
PUBLIC "-//OASIS//DTD DITA 1.2 Base Topic//EN" "basetopic.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Base Topic//EN" "basetopic.dtd"

PUBLIC "-//OASIS//DTD DITA Machinery Task//EN" "machineryTask.dtd"
PUBLIC "-//OASIS//DTD DITA 1.2 Machinery Task//EN" "machineryTask.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Machinery Task//EN" "machineryTask.dtd"

PUBLIC "-//OASIS//DTD DITA 1.2 Learning Assessment//EN" "learningAssessment.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Learning Assessment//EN" "learningAssessment.dtd"
PUBLIC "-//OASIS//DTD DITA Learning Assessment//EN" "learningAssessment.dtd"

PUBLIC "-//OASIS//DTD DITA 1.2 Learning Content//EN" "learningContent.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Learning Content//EN" "learningContent.dtd"
PUBLIC "-//OASIS//DTD DITA Learning Content//EN" "learningContent.dtd"

PUBLIC "-//OASIS//DTD DITA 1.2 Learning Overview//EN" "learningOverview.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Learning Overview//EN" "learningOverview.dtd"
PUBLIC "-//OASIS//DTD DITA Learning Overview//EN" "learningOverview.dtd"

PUBLIC "-//OASIS//DTD DITA 1.2 Learning Plan//EN" "learningPlan.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Learning Plan//EN" "learningPlan.dtd"
PUBLIC "-//OASIS//DTD DITA Learning Plan//EN" "learningPlan.dtd"

PUBLIC "-//OASIS//DTD DITA 1.2 Learning Summary//EN" "learningSummary.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Learning Summary//EN" "learningSummary.dtd"
PUBLIC "-//OASIS//DTD DITA Learning Summary//EN" "learningSummary.dtd"

Map and map-based specializations

PUBLIC "-//OASIS//DTD DITA Map//EN" "map.dtd"
PUBLIC "-//OASIS//DTD DITA 1.1 Map//EN" "map.dtd"
PUBLIC "-//OASIS//DTD DITA 1.0 Map//EN" "map.dtd"

PUBLIC "-//OASIS//DTD DITA Base Map//EN" "basemap.dtd"
PUBLIC "-//OASIS//DTD DITA 1.1 Base Map//EN" "basemap.dtd"
PUBLIC "-//OASIS//DTD DITA 1.0 Base Map//EN" "basemap.dtd"

PUBLIC "-//OASIS//DTD DITA BookMap//EN" "bookmap.dtd"
PUBLIC "-//OASIS//DTD DITA 1.2 BookMap//EN" "bookmap.dtd"
PUBLIC "-//OASIS//DTD DITA 1.1 BookMap//EN" "bookmap.dtd"        

PUBLIC "-//OASIS//DTD DITA Subject Scheme Map//EN" "subjectScheme.dtd"
PUBLIC "-//OASIS//DTD DITA Subject Scheme 1.x Map//EN" "subjectScheme.dtd"
PUBLIC "-//OASIS//DTD DITA Subject Scheme 1.2 Map//EN" "subjectScheme.dtd"

PUBLIC "-//OASIS//DTD DITA Classification Map//EN" "classifyMap.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Classification Map//EN" "classifyMap.dtd"
PUBLIC "-//OASIS//DTD DITA 1.2 Classification Map//EN" "classifyMap.dtd"

PUBLIC "-//OASIS//DTD DITA 1.2 Learning BookMap//EN" "learningBookmap.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Learning BookMap//EN" "learningBookmap.dtd"
PUBLIC "-//OASIS//DTD DITA Learning BookMap//EN" "learningBookmap.dtd"

PUBLIC "-//OASIS//DTD DITA 1.2 Learning Map//EN" "learningMap.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x Learning Map//EN" "learningMap.dtd"
PUBLIC "-//OASIS//DTD DITA Learning Map//EN" "learningMap.dtd"

DITAVal package for conditional processing

PUBLIC "-//OASIS//DTD DITA DITAVAL//EN" "ditaval.dtd"
PUBLIC "-//OASIS//DTD DITA 1.x DITAVAL//EN" "ditaval.dtd"
PUBLIC "-//OASIS//DTD DITA 1.2 DITAVAL//EN" "ditaval.dtd"        

Was this helpful?