subjectRelTable

The <subjectRelTable> element is a specialized relationship table which establishes relationships between the subjects in different columns of the same row. This element provides an efficient way to author non-hierarchical relationships between subjects. Tools (such as search tools) that use subject relationships to find related content may use these associative relationships in a similar way to the hierarchical relationships.

Contains

Note

These models represent only the default document types distributed by OASIS. Actual content models will differ with each new document type.
Doctype Content model
subjectScheme ( (title) (optional) then (topicmeta) (optional) then (subjectRelHeader) (optional) then (subjectRel) (one or more) )

Contained by

Doctype Content model
subjectScheme subjectScheme

Inheritance

- map/reltable subjectScheme/subjectRelTable

Example

The subject relationship table in this example establishes environmentFor relationships between operating systems and applications. Based on the subjectRole element, subjects in the first column are operating systems which are the environment for an application, while subjects in the second column are applications that run in that environment. For a user interested in content about the operating system, content about the applications may also be relevant.

<subjectScheme>
  <hasKind>
    <subjectdef keys="operatingSystem">
        <subjectdef keys="linuxOS"/>
        <subjectdef keys="windowsOS"/>
    </subjectdef>
    <subjectdef keys="application">
        <subjectdef keys="IDE">
            <subjectdef keys="eclipseIDE"/>
            <subjectdef keys="visualStudioIDE"/>
        </subjectdef>
        <subjectdef keys="webBrowser">
            <subjectdef keys="firefoxBrowser"/>
            <subjectdef keys="ieBrowser"/>
        </subjectdef>
    </subjectdef>
  </hasKind>
  ...
  <subjectRelTable>
    <subjectRelHeader>
      <subjectRole>
        <subjectdef keyref="operatingSystem">
          <hasRelated keyref="environmentFor">
            <subjectdef keyref="application"/>
          </hasRelated>
        </subjectdef>
      </subjectRole>
      <subjectRole>
        <subjectdef keyref="application"/>
      </subjectRole>
    </subjectRelHeader>
    <subjectRel>
      <subjectRole>
        <subjectdef keyref="linuxOS"/>
        <subjectdef keyref="windowsOS"/>
      </subjectRole>
      <subjectRole>
        <subjectdef keyref="eclipseIDE"/>
        <subjectdef keyref="firefoxBrowser"/>
      </subjectRole>
    </subjectRel>
    <subjectRel>
      <subjectRole>
        <subjectdef keyref="windowsOS"/>
      </subjectRole>
      <subjectRole>
        <subjectdef keyref="ieBrowser"/>
        <subjectdef keyref="visualStudioIDE"/>
      </subjectRole>
    </subjectRel>
  </subjectRelTable>
</subjectScheme>

A table view of the subjectRelTable may look like this; each <subjectRel> represents a single row, and each <subjectRole> represents a cell.

subjectRelTable as a table

<subjectdef keyref="operatingSystem">
 <hasRelated keyref="environmentFor">
  <subjectdef keyref="application"/>
 </hasRelated>
</subjectdef>
<subjectdef keyref="application"/>
<subjectdef keyref="linuxOS"/>
<subjectdef keyref="windowsOS"/>
<subjectdef keyref="eclipseIDE"/>
<subjectdef keyref="firefoxBrowser"/>
<subjectdef keyref="windowsOS"/>
<subjectdef keyref="ieBrowser"/>
<subjectdef keyref="visualStudioIDE"/>

Attributes

Name Description Data Type Default Value Required?
topicref-atts-no-toc attribute group (collection-type, processing-role, type, scope, locktitle, format, linking, toc, print, search, chunk) A related set of attributes. See topicref-atts, topicref-atts-no-toc, and topicref-atts-without-format attribute groups.
univ-atts attribute group (includes select-atts, id-atts, and localization-atts groups) A set of related attributes, described in univ-atts attribute group
global-atts attribute group (xtrf, xtrc) A set of related attributes, described in global-atts attribute group
class A common attribute described in Other common DITA attributes

Was this helpful?