Language reference : Base architecture : Classification elements : Subject scheme maps : subjectRole
   
subjectRole
The <subjectRole> element, when used within a <subjectRel> element, contains a set of subjects that are related to other subjects in the same row of the current <subjectRelTable>. By default, no relationship is defined between multiple subjects in the same <subjectRole> element. When used within the <subjectRelHeader>, the <subjectRole> element defines the category of subject or relationship provided by that column.
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
( (data or data-about or subjectdef or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )
Contained by
Doctype
Content model
subjectScheme
Inheritance
- map/relcell subjectScheme/subjectRole
Example 176. 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.
Table 9. 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 attribute group (collection-type, processing-role, type, scope, locktitle, format, linking, toc, print, search, chunk)
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