XML schema organization
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.
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 |
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