XML Schema organizationThe 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.
[edit] 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.
[edit] 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.
|
TOC: Architectural_Specification_1.1
Parent topic: An introduction to DITA
Previous topic: DTD organization
|
|