XML schema organization

Darwin Information Typing Architecture (DITA) Version 1.2

(Non-normative) 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 document type shell. All element and attribute type declarations are made in modules, which are then integrated into a document type using a document type shell. Implementers are free to create new document-type shells 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 conform to the DITA architecture; the XML Schema may add or remove domains, it may allow topics to nest concepts or allow authoring of different types at the same level, as in the ditabase document type.

Description of DITA modules

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

Table. 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
Table. 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.
Table. 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

Table. 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                

Table. 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

XML Schema catalog identifiers

An XML resolver needs to be able to uniquely identify an XML Schema in order to map to a local resource. The DITA 1.2 specification includes both URN- and URL-based versions of the XML schemas. The URL versions are included as a convenience for use with tools that do not support catalog based resolution and are not normative.

Each schema document must be uniquely identified using a URN (Uniform Resource Name). Each schema document has a version-independent as well as a version-specific URN.

There are two patterns for the URNs. One for schemas that are part of the core standard and one for schemas created by TC subcommittees. The design pattern for the core standard schemas is:

urn:oasis:names:tc:dita:xsd:<filename.xsd>:<version>

The design pattern for schemas created by DITA Technical Committee sub-committees is:

urn:oasis:names:tc:dita:spec:<specialization-family-name>:xsd:<filename.xsd>:<version>

Catalog identifiers for shell schemas and/or specializations that are not defined by the DITA Technical Committee or DITA Technical Committee sub-committees should use an owner identifier reflecting the owner of the shell, e.g. "example.com" then an appropriate URN would be "urn:example.com:names:dita:xsd:topic.xsd". The pattern "urn:oasis:names:tc:dita" is a convention indicating that the artifact is defined by the OASIS DITA Technical Committee.

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

urn:oasis:names:tc:dita:xsd:topic.xsd:1.2
urn:oasis:names:tc:dita:xsd:topic.xsd:1.x
urn:oasis:names:tc:dita:xsd:topic.xsd

urn:oasis:names:tc:dita:xsd:basetopic.xsd:1.2
urn:oasis:names:tc:dita:xsd:basetopic.xsd:1.x
urn:oasis:names:tc:dita:xsd:basetopic.xsd

urn:oasis:names:tc:dita:xsd:concept.xsd:1.2
urn:oasis:names:tc:dita:xsd:concept.xsd:1.x
urn:oasis:names:tc:dita:xsd:concept.xsd

urn:oasis:names:tc:dita:xsd:reference.xsd:1.2
urn:oasis:names:tc:dita:xsd:reference.xsd:1.x
urn:oasis:names:tc:dita:xsd:reference.xsd

urn:oasis:names:tc:dita:xsd:task.xsd:1.2
urn:oasis:names:tc:dita:xsd:task.xsd:1.x
urn:oasis:names:tc:dita:xsd:task.xsd

urn:oasis:names:tc:dita:xsd:generalTask.xsd:1.2
urn:oasis:names:tc:dita:xsd:generalTask.xsd:1.x
urn:oasis:names:tc:dita:xsd:generalTask.xsd

urn:oasis:names:tc:dita:spec:machinery:xsd:machineryTask.xsd:1.2
urn:oasis:names:tc:dita:spec:machinery:xsd:machineryTask.xsd:1.x
urn:oasis:names:tc:dita:spec:machinery:xsd:machineryTask.xsd

urn:oasis:names:tc:dita:xsd:ditabase.xsd:1.2
urn:oasis:names:tc:dita:xsd:ditabase.xsd:1.x
urn:oasis:names:tc:dita:xsd:ditabase.xsd

urn:oasis:names:tc:dita:xsd:ditabaseMod.xsd:1.2
urn:oasis:names:tc:dita:xsd:ditabaseMod.xsd:1.x
urn:oasis:names:tc:dita:xsd:ditabaseMod.xsd

urn:oasis:names:tc:dita:xsd:glossentry.xsd:1.2
urn:oasis:names:tc:dita:xsd:glossentry.xsd:1.x
urn:oasis:names:tc:dita:xsd:glossentry.xsd

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

urn:oasis:names:tc:dita:xsd:glossary.xsd:1.2
urn:oasis:names:tc:dita:xsd:glossary.xsd:1.x
urn:oasis:names:tc:dita:xsd:glossary.xsd

urn:oasis:names:tc:dita:spec:learning:xsd:learningAssessment.xsd:1.2
urn:oasis:names:tc:dita:spec:learning:xsd:learningAssessment.xsd:1.x
urn:oasis:names:tc:dita:spec:learning:xsd:learningAssessment.xsd

urn:oasis:names:tc:dita:spec:learning:xsd:learningContent.xsd:1.2
urn:oasis:names:tc:dita:spec:learning:xsd:learningContent.xsd:1.x
urn:oasis:names:tc:dita:spec:learning:xsd:learningContent.xsd

urn:oasis:names:tc:dita:spec:learning:xsd:learningSummary.xsd:1.2
urn:oasis:names:tc:dita:spec:learning:xsd:learningSummary.xsd:1.x
urn:oasis:names:tc:dita:spec:learning:xsd:learningSummary.xsd

urn:oasis:names:tc:dita:spec:learning:xsd:learningPlan.xsd:1.2
urn:oasis:names:tc:dita:spec:learning:xsd:learningPlan.xsd:1.x
urn:oasis:names:tc:dita:spec:learning:xsd:learningPlan.xsd

urn:oasis:names:tc:dita:spec:learning:xsd:learningOverview.xsd:1.2
urn:oasis:names:tc:dita:spec:learning:xsd:learningOverview.xsd:1.x
urn:oasis:names:tc:dita:spec:learning:xsd:learningOverview.xsd

Map and map-based specializations

urn:oasis:names:tc:dita:xsd:map.xsd:1.2
urn:oasis:names:tc:dita:xsd:map.xsd:1.x
urn:oasis:names:tc:dita:xsd:map.xsd

urn:oasis:names:tc:dita:xsd:basemap.xsd:1.2
urn:oasis:names:tc:dita:xsd:basemap.xsd:1.x
urn:oasis:names:tc:dita:xsd:basemap.xsd

urn:oasis:names:tc:dita:xsd:bookmap.xsd:1.2
urn:oasis:names:tc:dita:xsd:bookmap.xsd:1.x
urn:oasis:names:tc:dita:xsd:bookmap.xsd

urn:oasis:names:tc:dita:spec:classification:xsd:subjectScheme.xsd:1.2
urn:oasis:names:tc:dita:spec:classification:xsd:subjectScheme.xsd:1.x
urn:oasis:names:tc:dita:spec:classification:xsd:subjectScheme.xsd

urn:oasis:names:tc:dita:spec:classification:xsd:classifyMap.xsd:1.2
urn:oasis:names:tc:dita:spec:classification:xsd:classifyMap.xsd:1.x
urn:oasis:names:tc:dita:spec:classification:xsd:classifyMap.xsd

urn:oasis:names:tc:dita:spec:learning:xsd:learningBookmap.xsd:1.2
urn:oasis:names:tc:dita:spec:learning:xsd:learningBookmap.xsd:1.x
urn:oasis:names:tc:dita:spec:learning:xsd:learningBookmap.xsd

urn:oasis:names:tc:dita:spec:learning:xsd:learningMap.xsd:1.2
urn:oasis:names:tc:dita:spec:learning:xsd:learningMap.xsd:1.x
urn:oasis:names:tc:dita:spec:learning:xsd:learningMap.xsd

DITAVal package for conditional processing

urn:oasis:names:tc:dita:xsd:ditaval.xsd:1.2
urn:oasis:names:tc:dita:xsd:ditaval.xsd:1.x
urn:oasis:names:tc:dita:xsd:ditaval.xsd