Basic DITA terminology

Certain terminology is used for basic DITA components.

Draft comment: rodaande 13 December 2022
Somewhere - likely in this topic - we need a definition of "DITA Processor". Currently as used in the spec, that would encompass any tool that processes DITA in any way – not just rendering tools that use DITA as source, but any tools that work with DITA. For example, an editor is not required to evaluate any DITA feature (such as a simple text editor). However a DITA editor that resolves content references or keys inline is a DITA processor, which is processing those features based on processor requirements in the spec. Similarly a CCMS that evaluates content references falls under the umbrella of a DITA processor.

This assumes that we retain current use of "DITA processor" as used in the specification. Jarno noted that HTML5 uses producer/ consumer, where producer is aimed more at rules for authors / creators of DITA content and consumer is a tool that acts upon the content.

Draft comment: robander
TO RESOLVE 11 May 2026: this is a hard one. How about we add the term but with a broad definition stating that a processor is an implementation of DITA that renders DITA content or implements features of the DITA specification. This can include editors that attempt to render DITA content as anything other than plain text, processors that render DITA content as some other format, content management systems that process relationships between DITA documents, and other systems that attempt to handle DITA content as anything other than plain XML.

Or, if we can't come up with wording that works with that, just skip this and not define a DITA processor.

DITA document

An XML document that conforms to the requirements of this specification.

A DITA document MUST have as its root element one of the following elements:
  • <map> or a specialization of the <map> element
  • <topic> or a specialization of the <topic> element
  • <dita>, which cannot be specialized, but which allows documents with multiple sibling topics
    Draft comment: robander 26 may 2021
    picky comment: a <dita> root element (singular) only allows ONE document with sibling topics. Also, not to over-complicate, but an ordinary topic also allows sibling topics (as children), so what really distinguishes this is that it allows "root" siblings, but I don't think we have a word for that.

    Draft comment: robander
    TO RESOLVE 11 May 2026: recommend replacing with "...which cannot be specialized, but which allows for a DITA document with multiple root-level sibling topics"

DITA document type
A unique set of structural modules, domain modules, and constraint modules that taken together provide the XML element and attribute declarations that define the structure of DITA documents.
DITA document-type shell
A set of DTD or RELAX NG declarations that implement a DITA document type by using the rules and design patterns that are included in the DITA specification. A DITA document-type shell includes and configures one or more structural modules, zero or more domain modules, and zero or more constraint modules. With the exception of the optional declarations for the <dita> element and its attributes, DITA document-type shells do not declare any element or attribute types directly.
DITA element
An XML element instance whose type is a DITA element type. DITA elements must exhibit a @class attribute that has a value that conforms to the rules for specialization hierarchy specifications.
Draft comment: Kristen J Eberlein 02 July 2019

Suggest removing the last sentence of the definition. It uses the word 'must'; also, it needs to be better aligned with the topic about architectural attributes.

Draft comment: robander 26 may 2021
Having @class is such a core part of being a DITA element that I'd be inclined to keep it, except that 1) we could just remove "must" (it's a statement of fact, not a rule) and 2) I am continually confused by the term "exhibit" in this context. Also, <dita> doesn't have class and is a DITA element, so it's an oddball.
Draft comment: robander
TO RESOLVE 11 May 2026: suggest we
  1. confirm that somewhere in this spec we do say that you have to have @class, which I'm pretty sure we do, and then
  2. delete the sentence as Kris suggested
DITA element type
An element type that is either one of the base element types that are defined by the DITA specification, or a specialization of one of the base element types.
map instance
An occurrence of a map type in a DITA document.
map type
A map or a specialization of map that defines a set of relationships among topic instances.
structural type instance
An occurrence of a topic type or a map type in a DITA document.
topic instance
An occurrence of a topic type in a DITA document.
topic type
A topic or a specialization of topic that defines a complete unit of content.