<topicSubjectTable>
The <topicSubjectTable>
element is a specialized relationship
table which allows a map to use relationship tables to associate topics with subjects. Tools
(such as search tools) might use these classifications to
retrieve content that is relative to a specific subject or combination of subjects.
In a <topicSubjectTable>
, the first column is reserved for references to
content. Subsequent columns are reserved for subjects that classify the content, each column
supplying the subjects for a different category as identified in the header. The table
resembles a traditional relationship table in which the first column identifies the source
and the other columns identify the targets, but the relationship reflects the subjects
covered by the content rather than linking between documents.
<reltable>
, topics in any given column establish
relationships with topics in every other cell of the same row. In a
<topicSubjectTable>
, topics in the first column are related to all
of the subjects in the row, but no relationship is implied between subjects in different
columns of the same row. Instead, relationships are defined between subjects using a subject
scheme map (which provides a <subjectRelTable>
element for
non-hierarchical relationships between subjects).See appendix for information about this element in OASIS document type shells.
+ map/reltable classify-d/topicSubjectTable
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.
<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>
<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:<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 |
performance |
linux |
Analyzing web logs for service issues |
reliability |
linux |
The following attributes are available on this element: Universal attribute group and Attributes common to many map elements (with a narrowed definition of @toc
,
given below). This element also uses @type
,
@scope
, and @format
from Link relationship attribute group.
@toc
@toc
is "no". See Attributes common to many map elements for a complete definition of
@toc
.