A subjectScheme is a specialized DITA map that defines
a collection of controlled values rather than a collection of topics.
A <schemeref> element provides a
reference to another scheme. Typically, the referenced scheme defines
a base set of controlled values extended by the current scheme. The
values in the referenced scheme are merged with the current scheme;
the result is equivalent to specifying all of the values in a single
The <hasInstance> element specifies that the contained
subjects have an INSTANCE-OF relationship with the container subject.
In an INSTANCE-OF hierarchy, the child subject is a specific entity
or object and the parent subject is a type, kind, or class of entity
The <hasKind> element specifies that the contained hierarchy
expresses KIND-OF relationships between subjects.
For subjects within the <hasNarrower>
element, the container subject is more general than each of the contained
subjects. That is, this element makes the default hierarchical relationship
explicit, although the way in which a relationship is narrower is
The <hasPart> element specifies that
the contained hierarchy expresses PART-OF relationships between subjects.
The <hasRelated> element identifies
an associative relationship between the container subject and each
of the contained subjects.
The <enumerationdef> element identifies
one attribute and one or more categories that contain the controlled
values for the enumeration. The type attribute has a default value
The <elementdef> element identifies
an element on which an attribute is enumerated. When the <elementdef>
is left out of an <enumerationdef> element,
the enumeration is bound to the attribute in all elements.
The <attributedef> element specifies
the attribute to which a set of controlled values from a subject scheme
map are to be applied.
The <defaultSubject> element is used
within an attribute enumeration to set the default value for that
attribute in cases where no value is specified on the attribute. The
default subject must be one of the controlled values within the categories
specified for the attribute.
The <subjectHead> element provides a heading for a group
of subjects, for use if the scheme is displayed. For instance, a scheme
may be displayed to let a user select subjects as part of faceted
browsing. The subjectHead element itself does not reference a file
and cannot be referenced as a key, so it does not define any controlled
The <subjectHeadMeta> element allows
a navigation title and short description to be associated with a subject
The <subjectdef> element defines
a subject (also known as a controlled value) within a scheme. To make
the subject easy to identify, a <subjectdef> may use a keys attribute
to assign a key to the subject. A subject with a key can be identified
elsewhere with a keyref. The <subjectdef> may use a navtitle element
or attribute to supply a label for the subject. The <subjectdef>
may also refer to a topic that captures the consensus definition for
The <relatedSubjects> element establishes
associative relationships between each child subject and every other
child subject (unless the association is restricted by the linking
attribute of the subjects).
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.
The <subjectRelHeader> element specifies
the roles played by subjects in associations.
The <subjectRel> element contains
a set of subjects that are related in some manner. Each group of subjects
is contained in a <subjectRole> element; the associations between
different columns in the same row are evaluated in the same way as
those in a <relrow> (from which <subjectRel> is
specialized) but define relationships between the subjects instead
of links between topic documents.
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.