3.1.5.2.5 topicSubjectHeader

The <topicSubjectHeader> element specifies constraints on the subjects used in classifications.

You use the <topicSubjectHeader> element to supply a header row for a topic classification table when you want to encourage classification with subjects from different categories (also known as a facet classification). Each cell in the header row identifies the subject for a different category. The subjects in the same column within the classification rows must appear in the category in the subject scheme. For instance, if the cell within the header row specifies the Operating System category, the subjects in the column must be kinds of operating systems.

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
classifyMap ( (topicCell) then (subjectCell) (one or more) )

Contained by

Doctype Content model
classifyMap topicSubjectTable

Inheritance

+ map/relrow classify-d/topicSubjectHeader

Example

The topic subject table below classifies topics with goals for retrieval and with operating systems for filtering. The map makes use of definitions in a subject scheme map, defined separately.

Figure 1. Subject scheme map
<subjectScheme>
    <hasKind>
        <subjectdef href="goalType.dita" keys="goal">
            <subjectdef href="performanceGoal.dita" keys="performance"/>
            <subjectdef href="reliabilityGoal.dita" keys="reliability"/>
        </subjectdef>
        <subjectdef href="operatingSystem.dita" keys="os">
            <subjectdef href="linuxOS.dita" keys="linux"/>
            <subjectdef href="unixOS.dita" keys="unix"/>
            <subjectdef href="windowsOS.dita" keys="windows"/>
        </subjectdef>
    </hasKind>
</subjectScheme>
Figure 2. Topic subject table
The following <topicSubjectTable> classifies several topics according to subjects in the previous map. As with any <topicSubjectTable>, the first column is used to specify topics. In this specific example, the second column is used to specify a goal, based on the "goal" subject in the header. The third column is used to specify an operating system. Based on those definitions, the following classifications are made by this table:
  • The topics "Configuring cron for efficient startup" and "Allocating raw storage" are each classified by the goal of "performance"; in addition, they are classified by the operating systems "linux" and "unix.
  • The topics "Analyzing web logs for service issues" and "Detecting denial-of-service attacks" are each classified by the goal of "reliability"; in addition, they are classified by the operating systems "linux", "unix", and "windows".
  • No relationship is defined between subjects in the table, meaning that this table does not define any relationship between the goal of "performance" and the operating systems "linux" or "unix".
<map>
...
<topicSubjectTable>
  <topicSubjectHeader>
    <topicCell type="task"/>
    <subjectCell>
      <topicsubject keyref="goal"/>
    </subjectCell>
    <subjectCell>
      <topicapply keyref="os"/>
    </subjectCell>
  </topicSubjectHeader>
  <topicSubjectRow>
    <topicCell>
      <topicref href="webServerStart.dita" navtitle="Configuring cron for efficient startup"/>
      <topicref href="dbDisk.dita" navtitle="Allocating raw storage"/>
    </topicCell>
    <subjectCell>
      <topicsubject keyref="performance"/>
    </subjectCell>
    <subjectCell>
      <topicapply keyref="linux"/>
      <topicapply keyref="unix"/>
    </subjectCell>
  </topicSubjectRow>
  <topicSubjectRow>
    <topicCell>
      <topicref href="webLogAnalyze.dita" navtitle="Analyzing web logs for service issues"/>
      <topicref href="webDenialService.dita" navtitle="Detecting denial-of-service attacks"/>
    </topicCell>
    <subjectCell>
      <topicsubject keyref="reliability"/>
    </subjectCell>
    <subjectCell>
      <topicapply keyref="linux"/>
      <topicapply keyref="unix"/>
      <topicapply keyref="windows"/>
    </subjectCell>
  </topicSubjectRow>
  ...
</topicSubjectTable>
</map>

A table view of this <topicSubjectTable> might look as follows. This is only one of many possible views; to aid in understanding the example, the content topics in the first column are displayed using only their titles, and related subjects are displayed using only their keyref attribute value.

task goal os

Configuring cron for efficient startup

Allocating raw storage

performance

linux
unix

Analyzing web logs for service issues

Detecting denial-of-service attacks

reliability

linux
unix
windows

Attributes

Name Description Data Type Default Value Required?
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      

Return to main page.

OASIS DITA Version 1.2 -- OASIS Standard, 1 December 2010
Copyright © OASIS Open 2005, 2010. All Rights Reserved.