# DITA 2.0 preview support

DITA Open Toolkit 4.4 provides a preview of features for the upcoming OASIS DITA 2.0 specification. This preliminary processing support is provided on the basis of the latest drafts of the DITA 2.0 DTD and RELAX NG grammar files from OASIS (as of January 25, 2026).

DITA documents that reference the draft grammar files can be parsed, and where features overlap with DITA 1.3, those features will work as expected.

## DITA-OT 3.5 released April 27, 2020

DITA-OT 3.5 provided an initial preview of DITA 2.0 features.

- The new `<include>` element can be used to reference text or XML content from other files. In addition to the processing mandated by the specification, DITA-OT also supports the character set definition and line range extraction options previously provided for `<coderef>` elements (see Extended codeblock processing).

- The new `@specializations` attribute, which replaces the DITA 1.x `@domains` attribute, can now be used as an alternative method of declaring specialized attributes.

- The `@outputclass` attribute can now be specified as a flagging behavior in DITAVAL files. This allows you to flag an element with a CSS class keyword that will be added to the `@class` attribute value in the generated HTML. Output classes allow you to pick up pre-defined styles from existing web frameworks, and are more easily overridden with custom CSS files than the inline `@style` attributes generated by DITA 1.x flagging options such as `@color` and `@backcolor`.

- Titles can now be specified on simple tables, and `<simpletable>` entries now support row and column spanning attributes.

- Where DITA 1.x defined conflicting `@class` values for `<linktext>`, `<shortdesc>`, and `<searchtitle>` in maps and topics, the new draft of DITA 2.0 uses the topic-based `@class` value in all cases. Processing is updated to recognize the updated value when these elements are used in maps.

## DITA-OT 3.6 released December 19, 2020

DITA-OT 3.6 added support for additional DITA 2.0 features.

- Where earlier DITA versions relied on the `<object>` element to embed media in DITA source files, DITA 2.0 provides new `<audio>` and `<video>` elements that correspond to their HTML5 equivalents.
- For HTML5 compatibility, the new emphasis domain adds support for the `<strong>` and `<em>` elements in addition to the existing `<b>` and `<i>` elements in the highlighting domain.
- The troubleshooting domain has been updated with additional constructs that can be used to provide detailed diagnostic information.
- Several obsolete elements and attributes have been removed from DITA 2.0, including:
  - `<boolean>`
  - `<data-about>`
  - `<indextermref>`
  - `@alt` on `<image>`
  - `@navtitle` on `<topicref>`
  - `@query` on `<topicref>`
  - `@refcols` on `<simpletable>`
  - `@xtrc`
  - `@xtrf`

## DITA-OT 3.7 released January 17, 2022

DITA-OT 3.7 added support for additional DITA 2.0 features.

- The new “combine” chunk action can be used to merge content into new output documents.

  When the `@chunk` attribute is set to `combine` on a map, branch, or map reference, all source DITA documents grouped by that reference will be combined into a single document in the output.

  (Support for the DITA 2.0 “split” chunk action has not yet been implemented.)

  Note:
  The new chunk action is only applied if the root map has a DITA 2.0 doctype, such as:

  `<!DOCTYPE map PUBLIC "-//OASIS//DTD DITA 2.0 Map//EN" "map.dtd">`

  If the root map uses an unversioned (or 1.x) doctype, DITA 1.3 processing will be applied, and 2.0 chunk actions will be ignored. With a 2.0 root map, any 1.3 chunk actions are ignored.

- The new `<keytext>` element can be used to define variable text referenced by `@keyref`. Although the DITA 2.0 grammar files in this release support the use of `<keytext>` in authored files, DITA-OT 3.7 does not yet have processing support for the element.
- The new alternative titles domain and `<titlealt>` element (separate from the `<titlealts>` element in DITA 1.3) may be used when you need to use an alternate title, such as for a navigation title, search title, link title, subtitle, or title hint.
- The new `@appid-role` attribute is available on `<resourceid>`. The default is `context-sensitive-help`.
- The `@keyref` attribute was added to all elements in the highlighting domain and the new emphasis domain.
- The `@href`, `@format`, and `@scope` attributes are now used consistently for linking elements.
- Several obsolete elements and attributes have been removed from DITA 2.0, including:
  - `<anchor>`
  - `<anchorref>`
  - `<data-about>`
  - `<hasInstance>`
  - `<hasKind>`
  - `<hasNarrower>`
  - `<hasPart>`
  - `<hasRelated>`
  - `<longquoteref>`
  - `<relatedSubjects>`
  - `<sectiondiv>`
  - `<subjectRel>`
  - `<subjectRelHeader>`
  - `<subjectRelTable>`
  - `<subjectRole>`
  - `@anchorref` from `<map>`
  - `@copy-to`
  - `@href`, `@format`, `@type`, `@scope`, `@reftitle` from `<lq>` (`@keyref` remains)
  - `@locktitle`
  - `@longdescref`
  - `@mapkeyref`
  - `@print`
  - `@query`
  - `@specentry` from `<stentry>`
  - `@spectitle`

## DITA-OT 4.0 released November 12, 2022

DITA-OT 4.0 added support for additional DITA 2.0 features.

- The new “split” chunk action can be used to break content into new output documents. #3942

  When the `@chunk` attribute is set to `split` on a map, branch, or map reference, each topic from the referenced source document will be rendered as an individual document.

  Note:
  The new chunk action is only applied if the root map has a DITA 2.0 doctype, such as:

  `<!DOCTYPE map PUBLIC "-//OASIS//DTD DITA 2.0 Map//EN" "map.dtd">`

  If the root map uses an unversioned (or 1.x) doctype, DITA 1.3 processing will be applied, and 2.0 chunk actions will be ignored. With a 2.0 root map, any 1.3 chunk actions are ignored.

## DITA-OT 4.1 released June 22, 2023

DITA-OT 4.1 added support for additional DITA 2.0 features.

- DITA 2.0 splits the programming and syntax domains (so you can use one without the other).

  The syntax diagram elements move from the programming domain to a new syntax diagram domain, which results in new class attribute tokens. All elements and content models remain the same.

  HTML5 and PDF processing has been updated for DITA-OT 4.1 to support syntax diagram elements from DITA 2.0, so that processing matches what those elements did in DITA 1.3. #4082

- DITA 2.0 removes the xNAL domain and classification domains. #4177

## DITA-OT 4.3 released February 15, 2025

DITA-OT 4.3 added support for additional DITA 2.0 features.

- HTML5 processing now supports the `@height` and `@width` attributes on the DITA 2.0 `<video>` element to ensure that videos are scaled correctly. #4570
- HTML5 and PDF processing has been updated to support the new DITA 2.0 emphasis domain elements: `<em>` for emphasis and `<strong>` for strong emphasis. #4571

## DITA-OT 4.4

DITA-OT 4.4 adds support for additional DITA 2.0 features.

- DITA-OT now supports the DITA 2.0 `<keytext>` element and implements the updated DITA 2.0 rules for generating key variable text. #4644

  In DITA 2.0, the `<keytext>` element provides a more flexible way to define the text content for key references. When a key is defined with `<keytext>`, this content is used to populate key references that resolve to text.

  Key processing now determines the DITA version of the map that declared each key and applies the appropriate resolution rules. When you combine DITA 1.x and DITA 2.0 maps in a single publication:

  - Key references to keys defined in DITA 1.x maps use the `<keyword>` element for text resolution (as in previous versions).
  - Key references to keys defined in DITA 2.0 maps use the `<keytext>` element for text resolution (following the DITA 2.0 specification).

  This approach allows you to gradually migrate content to DITA 2.0 without rewriting existing key definitions. However, mixing DITA versions in a single publication is not generally recommended.

- Simple chunking cases in DITA 1.x maps can now be processed using the DITA 2.0 chunking module in compatibility mode. For example, a DITA 1.3 map with `chunk="to-content"` is now processed as if it used the DITA 2.0 `chunk="combine"` action. This refactoring improves reliability by leveraging the newer chunking code, which has fewer bugs than the legacy implementation. Note that this may change how splitting operations generate file names. #4600

- The DITAVAL `@outputclass` attribute has been renamed to `@add-outputclass` to match the DITA 2.0 specification. Support for the old attribute name is retained for backwards compatibility, but a DOTA014W warning message is now generated when the deprecated `@outputclass` attribute is used. #4635

- DITA 2.0 chunk processing has been improved to support multiple operation tokens. This refactoring work lays the groundwork for future support of select tokens in DITA 2.0 chunk processing. #4711

- DITA-OT now supports the DITA 2.0 `<linktitle>` element and recognizes both the DITA 1.3 and DITA 2.0 class attributes for `<navtitle>`. When using a DITA 2.0 root map, the preprocessed map will contain both `<linktext>` (for DITA 1.3 compatibility) and `<linktitle>` (for DITA 2.0) elements. Plug-ins that handle `<navtitle>` or `<linktext>` may need to be updated to handle these new elements. #4734

- DITA 2.0 grammar files have been updated to the latest draft versions from OASIS (as of January 25, 2026). This update removes the `<state>` and `<unknown>` elements from the base grammar, changes the new `@outputclass` attribute in DITAVAL to `@add-outputclass`, and modifies how default values are set for `@title-role` in the Alternative Titles RNG module, for improved editing experience. #4744

  In the technical content grammar, several elements have been removed from the Glossary Entry module:
  - `<glossAbbreviation>`
  - `<glossAlternateFor>`
  - `<glossPartOfSpeech>`
  - `<glossProperty>`
  - `<glossScopeNote>`
  - `<glossShortForm>`
  - `<glossStatus>`

Note:
Other new or revised features proposed for DITA 2.0 are not yet supported. Additional features will be implemented in future versions of DITA-OT as the specification evolves.
Tip:
For the latest status information on DITA 2.0-related features and fixes, see the DITA 2.0 label in the GitHub issues tracker.