DTD organization

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.

DTDs versus Modules

A significant feature of the DITA implementation is that it places more importance on the modules than on the actual DTD. All element and attribute type declarations are made in modules, which are then integrated into a document type using a document type shell. Implementors are free to create new DTDs that reorganize the modules, introduce new modules, or remove modules as appropriate. For example, the standard topic DTD from OASIS includes all of the standard topic domains; in addition, while the default topic DTD allows topics to nest, it is not possible to include concepts. A new DTD can change one or both of these features and still be valid; the DTD may add or remove domains, and it may allow topic to nest concepts, or allow authoring of different types at the same level, as in the ditabase document type. When creating a new or changing an existing DTD, users should remember to give the new or changed DTD a new public ID, so that various DITA tools will not confuse the new DTD with the default OASIS version.

Description of DITA Modules

Each specialization requires one or more modules to define elements for that specialization. Any DTD that makes use of a specialization must include the modules for that specialization.

In addition to the modules specific to a specialization, there are several files that are used by every DITA DTD. These are included in the base topic or map modules, so they do not need to be referenced in the DTD – they are already included simply by including the topic or map module.

The tables below describe each of the DTD modules that come with the OASIS DITA standard.

Table 1. Description of topic and its specialization modules
Common module file Purpose Used within DTD
topic.mod Define all elements that may be used within the base topic type. Must be included in any topic-based DITA DTD.
concept.mod Define elements used within the concept specialization. concept.dtd, ditabase.dtd
glossary.mod Define elements used within the glossary specialization glossary.dtd, ditabase.dtd
reference.mod Define elements used within the reference specialization. reference.dtd, ditabase.dtd
task.mod Define elements used within the task specialization. task.dtd, ditabase.dtd
Table 2. Description of map and its specialization modules
Common module file Purpose Used within DTD
map.mod Define all elements that may be used within the base map type. Must be included in any map-based DITA DTD.
bookmap.mod Define elements used within the bookmap specialization. bookmap.dtd
Table 3. Description of domain modules
Common module file Purpose Used within DTD
indexingDomain.ent, indexingDomain.mod Define entities and elements used by the indexing domain. bookmap.dtd, concept.dtd, ditabase.dtd, glossary.dtd, map.dtd reference.dtd, task.dtd, topic.dtd
highlightDomain.ent, highlightDomain.mod Define entities and elements used by the highlighting domain. concept.dtd, ditabase.dtd, glossary.dtd, reference.dtd, task.dtd, topic.dtd
programmingDomain.ent, programmingDomain.ent Define entities and elements used by the programming domain. concept.dtd, ditabase.dtd, glossary.dtd, reference.dtd, task.dtd, topic.dtd
softwareDomain.ent, softwareDomain.mod Define entities and elements used by the software domain. concept.dtd, ditabase.dtd, glossary.dtd, reference.dtd, task.dtd, topic.dtd
uiDomain.ent, uiDomain.mod Define entities and elements used by the user interface domain. concept.dtd, ditabase.dtd, glossary.dtd, reference.dtd, task.dtd, topic.dtd
utilitiesDomain.ent, utilitiesDomain.mod Define entities and elements used by the utilities domain. concept.dtd, ditabase.dtd, glossary.dtd, reference.dtd, task.dtd, topic.dtd
mapGroup.ent, mapGroup.mod Define entities and elements used by the map group domain. map.dtd, bookmap.dtd
xnalDomain.ent, xnalDomain.mod Define entities and elements used by the XNAL domain. bookmap.dtd
Table 4. Description of other common modules used by the files above
Common module file Purpose Used within module
commonElements.ent, commonElements.mod Define all content elements that may appear in both maps and topics. topic.mod, map.mod (this makes it a part of any DITA DTD)
metaDecl.mod Define meta elements that may appear in both maps and topics topic.mod, map.mod (this makes it a part of any DITA DTD)
tblDecl.mod Defines the complex tables used within DITA, based on the OASIS Exchange Table model. commonElements.mod (this makes it a part of any DITA DTD)
topicDefn.ent Defines entities used within the topic module. topic.mod (this makes it a part of any topic-based DITA DTD)

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.

PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"
PUBLIC "-//OASIS//DTD DITA 1.1 Concept//EN" "concept.dtd"
PUBLIC "-//OASIS//DTD DITA 1.0 Concept//EN" "concept.dtd"

PUBLIC "-//OASIS//DTD DITA Composite//EN" "ditabase.dtd"
PUBLIC "-//OASIS//DTD DITA 1.1 Composite//EN" "ditabase.dtd"
PUBLIC "-//OASIS//DTD DITA 1.0 Composite//EN" "ditabase.dtd"

PUBLIC "-//OASIS//DTD DITA Glossary//EN" "glossary.dtd"
PUBLIC "-//OASIS//DTD DITA 1.1 Glossary//EN" "glossary.dtd"

PUBLIC "-//OASIS//DTD DITA Reference//EN" "reference.dtd"
PUBLIC "-//OASIS//DTD DITA 1.1 Reference//EN" "reference.dtd"
PUBLIC "-//OASIS//DTD DITA 1.0 Reference//EN" "reference.dtd"

PUBLIC "-//OASIS//DTD DITA Task//EN" "task.dtd"
PUBLIC "-//OASIS//DTD DITA 1.1 Task//EN" "task.dtd"
PUBLIC "-//OASIS//DTD DITA 1.0 Task//EN" "task.dtd"

PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd"
PUBLIC "-//OASIS//DTD DITA 1.1 Topic//EN" "topic.dtd"
PUBLIC "-//OASIS//DTD DITA 1.0 Topic//EN" "topic.dtd"

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 BookMap//EN" "bookmap.dtd"
PUBLIC "-//OASIS//DTD DITA 1.1 BookMap//EN" "bookmap.dtd"

Return to main page.

OASIS DITA Architectural Specification v1.1 -- Committee Draft 13 February 2007
Copyright © OASIS Open 2005, 2007. All Rights Reserved.