XML Schema organization

The OASIS DITA document types are implemented with a set of schema modules. Some of these modules are used by every DITA schema document; others are only used by topics or by maps, and some are only used in specific specializations.

XML Schemas versus Modules

A significant feature of the DITA implementation is that it places more importance on the modules than on the actual head schema. All element and attribute type declarations are made in modules, which are then integrated into a document type using a head schema. Implementors are free to create new head schemas that reorganize the modules, introduce new modules, redefine modules, or remove modules as appropriate. For example, the standard topic XML Schema from OASIS includes all of the standard topic domains; in addition, while the default topic XML Schema allows topics to nest, it is not possible to include concepts. A new XML Schema can change one or both of these features and still be valid; the XML Schema 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.

Description of DITA Modules

Each specialization requires one or more modules to define elements for that specialization. Any XML Schema 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 XML Schema. These are included in the base topic or map modules, so they do not need to be referenced in the XML Schema – they are already included simply by including the topic or map module.

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

Table 1. Description of topic and its specialization module
Common module file Purpose Used within XML Schema
topicMod.xsd, topicGrp.xsd Define all elements that may be used within the base topic type. Must be included in any topic-based DITA XML Schema.
conceptMod.xsd, conceptGrp.xsd Define elements used within the concept specialization. concept.xsd, ditabase.xsd
glossaryMod.xsd, glossaryGrp.xsd Define elements used within the glossary specialization glossary.xsd, ditabase.xsd
referenceMod.xsd, referenceGrp.xsd Define elements used within the reference specialization. reference.xsd, ditabase.xsd
taskMod.xsd, taskGrp.xsd Define elements used within the task specialization. task.xsd, ditabase.xsd
Table 2. Description of map and its specialization modules
Common module file Purpose Used within DTD
mapMod.xsd Define all elements that may be used within the base map type. Must be included in any map-based DITA XML Schema.
bookmapMod.xsd Define elements used within the bookmap specialization. bookmap.xsd
Table 3. Description of domain modules
Common module file Purpose Used within DTD
indexingDomainMod.xsd Define entities and elements used by the indexing domain. bookmap.xsd, concept.xsd, ditabase.xsd, glossary.xsd, map.xsd reference.xsd, task.xsd, topic.xsd
highlightDomainMod.xsd Define entities and elements used by the highlighting domain. concept.xsd, ditabase.xsd, glossary.xsd, reference.xsd, task.xsd, topic.xsd
programmingDomainMod.xsd Define entities and elements used by the programming domain. concept.xsd, ditabase.xsd, glossary.xsd, reference.xsd, task.xsd, topic.xsd
softwareDomainMod.xsd Define entities and elements used by the software domain. concept.xsd, ditabase.xsd, glossary.xsd, reference.xsd, task.xsd, topic.xsd
uiDomainMod.xsd Define entities and elements used by the user interface domain. concept.xsd, ditabase.xsd, glossary.xsd, reference.xsd, task.xsd, topic.xsd
utilitiesDomainMod.xsd Define entities and elements used by the utilities domain. concept.xsd, ditabase.xsd, glossary.xsd, reference.xsd, task.xsd, topic.xsd
mapGroupMod.xsd Define entities and elements used by the map group domain. map.xsd, bookmap.xsd
xnalDomainMod.xsd Define entities and elements used by the XNAL domain. bookmap.xsd
Table 4. Description of other common modules used by the files above
Common module file Purpose Used within module
commonElementsMod.xsd, commonElementsGrp.xsd Define all content elements that may appear in both maps and topics. topic.mod, map.mod (this makes it a part of any DITA XML Schema)
metaDeclMod.xsd, metaDeclGrp.xsd Define meta elements that may appear in both maps and topics topic.mod, map.mod (this makes it a part of any DITA XML Schema)
tblDeclMod.xsd, tblDeclGrp.xsd Defines the complex tables used within DITA, based on the OASIS Exchange Table model. commonElements.mod (this makes it a part of any DITA XML Schema)
ditaarch.xsd Defines the attribute that defines DITA's architectural version Must be imported in any topic-based DITA XML Schema.
xml.xsd Defines the attributes with the XML namespace Must be imported in any topic-based DITA XML Schema.

Return to main page.

OASIS DITA Version 1.1 Architectural Specification -- Committee Specification, 31 May 2007
Copyright © OASIS Open 2005, 2007. All Rights Reserved.