<data>
  
Data is a generic component that represents metadata within a topic or map. Complex metadata is represented by nested data structures.
Usage information
The primary purpose of the <data> element is as a specialization
          base. Because it can nest, it can be used to create complex metadata structures. It is available in both block and inline contexts, which allows the
              <data> element to specify properties for most element
            types.
A metadata property specified using a <data> element usually
          applies to the structure that contains the <data> element. 
When located in <prolog> and <metadata>
          elements, the property applies to the topic as a whole. When located in the
            <topicmeta> element, the property applies to the referenced
          topic.
<data> element. Use the <data>
          element only for properties; do not use it to embed text as part of the content flow. Rendering expectations
By default, processors SHOULD treat a <data> element as
          unknown metadata. The contents of the
            <data> element SHOULD NOT be rendered.
Processors that recognize a particular <data> element MAY make use of it to trigger specialized rendering.
Content model
(Text | <audio> | <cite> | <include> | <keyword> | <ph> | <q> | <term> | <text> | <tm> | <xref> | <data> | <draft-comment> | <foreign> | <image> | <object> | <required-cleanup> | <title> | <video>)*
Contained by
<abstract>, <alt>, <author>, <b>, <body>, <bodydiv>, <brand>, <category>, <cite>, <component>, <consequence>, <coords>, <copyrholder>, <data>, <dd>, <ddhd>, <desc>, <div>, <dl>, <draft-comment>, <dt>, <dthd>, <em>, <entry>, <example>, <fallback>, <featnum>, <fig>, <figgroup>, <fn>, <i>, <include>, <index-see>, <index-see-also>, <indexterm>, <li>, <line-through>, <lines>, <linkinfo>, <linktext>, <linktitle>, <lq>, <messagepanel>, <metadata>, <navtitle>, <note>, <ol>, <overline>, <p>, <ph>, <platform>, <pre>, <prodname>, <prognum>, <prolog>, <publisher>, <q>, <resourceid>, <searchtitle>, <section>, <series>, <shortdesc>, <sl>, <sli>, <source>, <stentry>, <strong>, <sub>, <subtitle>, <sup>, <title>, <titlealt>, <titlehint>, <tt>, <typeofhazard>, <u>, <ul>, <xref>
Contained by
- <abstract>
- <alt>
- <author>
- <b>
- <body>
- <bodydiv>
- <brand>
- <category>
- <cite>
- <component>
- <consequence>
- <coords>
- <copyrholder>
- <data>
- <dd>
- <ddhd>
- <desc>
- <div>
- <dl>
- <draft-comment>
- <dt>
- <dthd>
- <em>
- <entry>
- <example>
- <fallback>
- <featnum>
- <fig>
- <figgroup>
- <fn>
- <i>
- <include>
- <index-see>
- <index-see-also>
- <indexterm>
- <li>
- <line-through>
- <lines>
- <linkinfo>
- <linktext>
- <linktitle>
- <lq>
- <messagepanel>
- <metadata>
- <navtitle>
- <note>
- <ol>
- <overline>
- <p>
- <ph>
- <platform>
- <pre>
- <prodname>
- <prognum>
- <prolog>
- <publisher>
- <q>
- <resourceid>
- <searchtitle>
- <section>
- <series>
- <shortdesc>
- <sl>
- <sli>
- <source>
- <stentry>
- <strong>
- <sub>
- <subtitle>
- <sup>
- <title>
- <titlealt>
- <titlehint>
- <tt>
- <typeofhazard>
- <u>
- <ul>
- <xref>
Inheritance
- topic/data
The <data> element is a base element type. It is defined in the topic module.
Attributes
The following attributes are available on this element: data-element
                                                  attributes, link-relationship attributes, universal
                                                  attributes, and @keyref.
The following attributes are available on this element: universal attributes and the attributes defined below.
- @datatype(data-element attributes)
- Specifies the type of data contained in the @valueattribute or within the<data>element. A typical use of@datatypewill be the identifying URI for an XML Schema datatype.
- @format(link-relationship attributes)
- Specifies the format of the resource that is referenced. See The format attribute for detailed information on supported values and processing implications.
- @href(link-relationship attributes)
- Specifies a reference to a resource. See The href attribute for detailed information on supported values and processing implications.
- @keyref
- Specifies a key name that acts as a redirectable reference based on a key definition within a map. See The keyref attribute for information on using this attribute.
- @name(data-element attributes)
- Defines a unique name for the object.
- @scope(link-relationship attributes)
- Specifies the closeness of the relationship between the
            current document and the referenced resource. The following values are valid:
                local, peer,
                external, and
                -dita-use-conref-target. See The scope attribute for detailed information on supported values and processing implications. 
- @type(link-relationship attributes)
- Describes the target of a reference. See The type attribute for detailed information on supported values and processing implications.
- @value(data-element attributes)
- Specifies a value associated with the current property or element.
Examples
This section is non-normative.
This section contains examples of how the <data> element can be
        used.
@name attribute on unspecialized
            <data> elementsThe following code sample shows how the <data> element can be used
          to provide metadata. Rendering tools that recognize this metadata can automatically apply
          highlighting to the code.
<codeblock>
  <data name="codestyle" value="javascript"/>
  <!-- JavaScript code block -->
</codeblock><data> elements for complex metadataThe following code sample shows how nested <data> elements can
          provide complex inventory metadata for a part that is described in the topic:
<topic id="sample">
  <title>How to purchase items from the warehouse</title>
  <prolog>
    <data name="inventory">
      <data name="aisle" value="4"/>
      <data name="bin" value="13"/>
      <data name="restock" value="weekly"/>
    </data>
  </prolog>
  <body>
    <!-- ... -->
  </body>
</topic><data> for structured metadataThe following code sample contains specializations of the <data>
          element: <change-item>, <change-completed>,
          and <change-summary>. These specialized elements each provide a
          default for @name inside the grammar files, so that processors can work
          with the data without authors having to specify the attribute.
<topic id="data">
  <title><xmlelement>data</xmlelement></title>
  <prolog>
    <change-historylist>
      <change-item>
        <change-completed>2017-08-20</change-completed>
        <change-summary>Refactored topic to use new template</change-summary>
      </change-item>
      <change-item>
        <change-completed>2018-06-06</change-completed>
        <change-summary>Created new examples</change-summary>
      </change-item>
    </change-historylist>
  </prolog>
  <body>
    <!-- ... -->
  </body>
</topic>