<subjectScheme>

The <subjectScheme> element is a specialization of <map>; it defines taxonomic subjects and controlled values.

Content models

See appendix for information about this element in OASIS document type shells.

Inheritance

- map/map subjectScheme/subjectScheme

Example

<subjectScheme>
  <!-- Pull in a scheme that defines unix OS values -->
  <schemeref href="unixOS.ditamap"/>
  <!-- Define new OS values that are merged with those in the unixOS scheme -->
  <subjectdef keys="os">
    <subjectdef keys="linux"/>
    <subjectdef keys="mswin"/>
    <subjectdef keys="zos"/>
  </subjectdef>
  <!-- Define application values -->
  <subjectdef keys="app" navtitle="Applications">
    <subjectdef keys="apacheserv" href="subject/apache.dita"/>
    <subjectdef keys="mysql"      href="subject/sql.dita"/>
  </subjectdef>

  <!-- Define an enumeration of the platform attribute, equal to
       each value in the OS subject. This makes the following values
       valid for the platform attribute: linux, mswin, zos -->
  <enumerationdef>
    <attributedef name="platform"/>
    <subjectdef keyref="os"/>
  </enumerationdef>
  <!-- Define an enumeration of the otherprops attribute, equal to
       each value in the application subjects.
       This makes the following values valid for the otherprops attribute:
       apacheserv, mysql -->
  <enumerationdef>
    <attributedef name="otherprops"/>
    <subjectdef keyref="app"/>
  </enumerationdef>
</subjectScheme>

Attributes

The following attributes are available on this element: Universal attribute group (with a narrowed definition of @id, given below), Attributes common to many map elements (with narrowed definitions of @processing-role and @toc, given below), Architectural attribute group, outputclass, and the attributes defined below. This element also uses @type, @scope, and @format from Link relationship attribute group.

@id
Allows an ID to be specified for the map. Note that maps do not require IDs (unlike topics), and the map ID is not included in references to elements within a map. This attribute is defined with the XML Data Type ID.
@anchorref
Identifies a location within another map document where this map will be anchored. Resolution of the map is deferred until the final step in the delivery of any rendered content. For example, anchorref="map1.ditamap#a1" allows the map with @anchorref to be pulled into the location of the anchor point "a1" inside map1.ditamap when map1.ditamap is rendered for delivery.
@processing-role
For this element, the default value for @processing-role is "resource-only". Otherwise, the definition matches the one found in Attributes common to many map elements.
@toc
For this element, the default value for @toc is "no". Otherwise, the definition matches the one found in Attributes common to many map elements.