<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<!--  This file is part of the DITA Open Toolkit project. See the accompanying LICENSE file for applicable license.  -->
<concept id="in">
  <title>DITA 2.0 preview support</title>

  <titlealts>
    <navtitle>DITA 2.0 preview</navtitle>
  </titlealts>

  <shortdesc>DITA Open Toolkit <keyword keyref="release"/> 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 
    <keyword keyref="draft-dita-grammar-state"/>).</shortdesc>

  <conbody>
    <p id="grammar-files">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.</p>
    <section id="v3.5">
      <title>DITA-OT 3.5</title>
      <p>DITA-OT 3.5 provided an initial preview of DITA 2.0 features.</p>
      <ul id="added-in-3.5">
        <li id="3453">
          <p>
            <ph id="include">The new <xmlelement>include</xmlelement> 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
                <xmlelement>coderef</xmlelement> elements (see
              <xref keyref="extended-functionality"/>).</ph>
          </p>
        </li>
        <li id="3462">
          <p>
            <ph id="specializations">The new <xmlatt>specializations</xmlatt> attribute, which replaces the DITA 1.x
                <xmlatt>domains</xmlatt> attribute, can now be used as an alternative method of declaring specialized
              attributes.</ph>
          </p>
        </li>
        <li id="3463">
          <p>
            <ph id="outputclass">The <xmlatt>outputclass</xmlatt> 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
                <xmlatt>class</xmlatt> 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 <xmlatt>style</xmlatt> attributes generated by DITA 1.x flagging options such as
                <xmlatt>color</xmlatt> and <xmlatt>backcolor</xmlatt>.</ph>
          </p>
        </li>
        <li id="3464">
          <p>
            <ph id="simple-table-titles">Titles can now be specified on simple tables, and
                <xmlelement>simpletable</xmlelement> entries now support row and column spanning attributes.</ph>
          </p>
        </li>
        <li id="3483">
          <p>
            <ph id="topic-based-classes">Where DITA 1.x defined conflicting <xmlatt>class</xmlatt> values for
                <xmlelement>linktext</xmlelement>, <xmlelement>shortdesc</xmlelement>, and
                <xmlelement>searchtitle</xmlelement> in maps and topics, the new draft of DITA 2.0 uses the topic-based
                <xmlatt>class</xmlatt> value in all cases. Processing is updated to recognize the updated value when
              these elements are used in maps.</ph>
          </p>
        </li>
      </ul>
    </section>
    <section id="v3.6">
      <title>DITA-OT 3.6</title>
      <p>DITA-OT 3.6 added support for additional DITA 2.0 features.</p>
      <ul id="added-in-3.6">
        <li>Where earlier DITA versions relied on the <xmlelement>object</xmlelement> element to embed media in DITA
          source files, DITA 2.0 provides new <xmlelement>audio</xmlelement> and <xmlelement>video</xmlelement> elements
          that correspond to their HTML5 equivalents.</li>
        <li>For HTML5 compatibility, the new emphasis domain adds support for the <xmlelement>strong</xmlelement> and
            <xmlelement>em</xmlelement> elements in addition to the existing <xmlelement>b</xmlelement> and
            <xmlelement>i</xmlelement> elements in the highlighting domain.</li>
        <li>The troubleshooting domain has been updated with additional constructs that can be used to provide detailed
          diagnostic information.</li>
        <li>Several obsolete elements and attributes have been removed from DITA 2.0, including:
          <ul>
            <li><xmlelement>boolean</xmlelement></li>
            <li><xmlelement>data-about</xmlelement></li>
            <li><xmlelement>indextermref</xmlelement></li>
            <li><xmlatt>alt</xmlatt> on <xmlelement>image</xmlelement></li>
            <li><xmlatt>navtitle</xmlatt> on <xmlelement>topicref</xmlelement></li>
            <li><xmlatt>query</xmlatt> on <xmlelement>topicref</xmlelement></li>
            <li><xmlatt>refcols</xmlatt> on <xmlelement>simpletable</xmlelement></li>
            <li><xmlatt>xtrc</xmlatt></li>
            <li><xmlatt>xtrf</xmlatt></li>
          </ul>
        </li>
      </ul>
    </section>
    <section id="v3.7">
      <title>DITA-OT 3.7</title>
      <p>DITA-OT 3.7 added support for additional DITA 2.0 features.</p>
      <ul id="added-in-3.7">
        <li>The new “combine” chunk action can be used to merge content into new output documents.
          <p>When the <xmlatt>chunk</xmlatt> attribute is set to <codeph>combine</codeph> 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.</p>
          <p id="no-chunk-split-in-3.7">(Support for the DITA 2.0 “split” chunk action has not yet been
            implemented.)</p>
          <note>The new chunk action is only applied if the root map has a DITA 2.0 doctype, such as:
            <p><codeph>&lt;!DOCTYPE map PUBLIC "-//OASIS//DTD DITA 2.0 Map//EN" "map.dtd"></codeph></p>
            <p>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.</p>
          </note>
        </li>
        <li>The new <xmlelement>keytext</xmlelement> element can be used to define variable text referenced by
            <xmlatt>keyref</xmlatt>. Although the DITA 2.0 grammar files in this release support the use of
            <xmlelement>keytext</xmlelement> in authored files, DITA-OT 3.7 does not yet have processing support for the
          element.  </li>
        <li>The new alternative titles domain and <xmlelement>titlealt</xmlelement> element (separate from the
            <xmlelement>titlealts</xmlelement> 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.</li>
        <li>The new <xmlatt>appid-role</xmlatt> attribute is available on <xmlelement>resourceid</xmlelement>. The
          default is <codeph>context-sensitive-help</codeph>.</li>
        <li>The <xmlatt>keyref</xmlatt> attribute was added to all elements in the highlighting domain and the new
          emphasis domain.</li>
        <li>The <xmlatt>href</xmlatt>, <xmlatt>format</xmlatt>, and <xmlatt>scope </xmlatt> attributes are now used
          consistently for linking elements.</li>
        <li>Several obsolete elements and attributes have been removed from DITA 2.0, including:
          <ul>
            <li><xmlelement>anchor</xmlelement></li>
            <li><xmlelement>anchorref</xmlelement></li>
            <li><xmlelement>data-about</xmlelement></li>
            <li><xmlelement>hasInstance</xmlelement></li>
            <li><xmlelement>hasKind</xmlelement></li>
            <li><xmlelement>hasNarrower</xmlelement></li>
            <li><xmlelement>hasPart</xmlelement></li>
            <li><xmlelement>hasRelated</xmlelement></li>
            <li><xmlelement>longquoteref</xmlelement></li>
            <li><xmlelement>relatedSubjects</xmlelement></li>
            <li><xmlelement>sectiondiv</xmlelement></li>
            <li><xmlelement>subjectRel</xmlelement></li>
            <li><xmlelement>subjectRelHeader</xmlelement></li>
            <li><xmlelement>subjectRelTable</xmlelement></li>
            <li><xmlelement>subjectRole</xmlelement></li>
            <li><xmlatt>anchorref</xmlatt> from <xmlelement>map</xmlelement></li>
            <li><xmlatt>copy-to</xmlatt></li>
            <li><xmlatt>href</xmlatt>, <xmlatt>format</xmlatt>, <xmlatt>type</xmlatt>, <xmlatt>scope</xmlatt>,
                <xmlatt>reftitle</xmlatt> from <xmlelement>lq</xmlelement> (<xmlatt>keyref</xmlatt> remains)</li>
            <li><xmlatt>locktitle</xmlatt></li>
            <li><xmlatt>longdescref</xmlatt></li>
            <li><xmlatt>mapkeyref</xmlatt></li>
            <li><xmlatt>print</xmlatt></li>
            <li><xmlatt>query</xmlatt></li>
            <li><xmlatt>specentry</xmlatt> from <xmlelement>stentry</xmlelement></li>
            <li><xmlatt>spectitle</xmlatt></li>
          </ul>
        </li>
      </ul>
    </section>
    <section id="v4.0">
      <title>DITA-OT 4.0</title>
      <p>DITA-OT 4.0 added support for additional DITA 2.0 features.</p>
      <ul id="added-in-4.0">
        <li>The new “split” chunk action can be used to break content into new output documents.
          <xref href="https://github.com/dita-ot/dita-ot/issues/3942" format="html" scope="external">#3942</xref>
          <p id="chunk-split-4.0">When the <xmlatt>chunk</xmlatt> attribute is set to <codeph>split</codeph> on a map,
            branch, or map reference, each topic from the referenced source document will be rendered as an individual
            document.</p>
          <note>The new chunk action is only applied if the root map has a DITA 2.0 doctype, such as:
            <p><codeph>&lt;!DOCTYPE map PUBLIC "-//OASIS//DTD DITA 2.0 Map//EN" "map.dtd"></codeph></p>
            <p>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.</p>
          </note>
        </li>
      </ul>
    </section>
    <section id="v4.1">
      <title>DITA-OT 4.1</title>
      <p>DITA-OT 4.1 added support for additional DITA 2.0 features.</p>
      <ul id="added-in-4.1">
        <li>
          <p>DITA 2.0 splits the programming and syntax domains (so you can use one without the other).</p>
          <p>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.</p>
          <p>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.
          <xref href="https://github.com/dita-ot/dita-ot/issues/4082" format="html" scope="external">#4082</xref>
          </p></li>
        <li>DITA 2.0 removes the xNAL domain and classification domains.
          <xref href="https://github.com/dita-ot/dita-ot/issues/4177" format="html" scope="external">#4177</xref>
        </li>
      </ul>
    </section>
    <section id="v4.2">
      <title>DITA-OT 4.2</title>
      <p>DITA-OT 4.2 adds support for additional DITA 2.0 features.</p>
      <ul id="added-in-4.2">
        <li/>
      </ul>
    </section>
    <section>
      <note id="more-to-come">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.</note>
      <note type="tip">For the latest status information on DITA 2.0-related features and fixes, see the
        <xref keyref="dita20-issues"/> in the GitHub issues tracker.</note>      
    </section>
  </conbody>

  <related-links>
    <!--
    <link keyref="dita13-spec-all-inclusive"/>
    <link keyref="dita13-spec-all-inclusive-pdf"/>
    <link keyref="dita13-spec-source"/>
    -->
    <link keyref="dita-tc"/>

  </related-links>
</concept>
