subjectdef

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 subject.

As with normal <topicref> processing, when the <subjectdef> element specifies a navtitle and refers to a topic, processors should use the actual topic title in place of the navtitle. When the navtitle is preferred as a subject label, the <subjectdef> element must have the locktitle attribute set to "yes".

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 ( (topicmeta) (optional) then (data or data-about or hasInstance or hasKind or hasNarrower or hasPart or hasRelated or subjectdef or subjectHead or topicref or (anchorref or keydef or mapref or topicgroup or topichead or topicset or topicsetref) ) (any number) )

Contained by

Doctype Content model
subjectScheme subjectScheme, hasNarrower, hasKind, hasPart, hasInstance, hasRelated, subjectdef, subjectHead, enumerationdef, relatedSubjects, subjectRole

Inheritance

- map/topicref subjectScheme/subjectdef

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

Name Description Data Type Default Value Required?
navtitle Specifies the title of the topic as it will appear in the navigation or tables of contents that are generated from the map. Beginning with DITA 1.2, the preferred way to specify the navigation title in a map is with the navtitle element, available inside the topicmeta element. CDATA #IMPLIED No
href A pointer to the resource represented by the <topicref>. See The href attribute for detailed information on supported values and processing implications. References to DITA content cannot be below the topic level: that is, you cannot reference individual elements inside a topic. References to content other than DITA topics should use the format attribute to identify the kind of resource being referenced. CDATA #IMPLIED No
keys Introduces one or more global identifiers for a resource referenced from a map. See The keys attribute for details on how to use the keys attribute. NMTOKEN #IMPLIED No
keyref Keyref provides a redirectable reference based on a key defined within a map. See The keyref attribute for information on using this attribute. CDATA #IMPLIED No
processing-role Describes the processing role of the referenced topic. The processing default is "normal". If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
normal
Normal topic that is a readable part of the information.
resource-only
The topic is used as a resource for processing purposes, but is not a readable unit of information on its own. This topic should not be included in a rendered table of contents, and the topic should not be rendered on its own.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(normal | resource-only | -dita-use-​conref-​target) #IMPLIED No
query This attribute is deprecated. It may be removed in the future. CDATA #IMPLIED No
copy-to Use the copy-to attribute on the <topicref> element to provide a different file name for a particular instance of the topic in the map (for example, to separate out the different versions of the topic, rather than combining them on output). The links and navigation associated with that instance will point to a copy of the topic with the file name you specified.

Use the <linktext> and <shortdesc> in the <topicref>'s <topicmeta> to provide a unique name and short description for the new copy.

CDATA #IMPLIED No
collection-type Collection types describe how links relate to each other. The processing default is "unordered", although no default is specified in the DTD or Schema.
unordered
Indicates that the order of the child topics is not significant.
sequence
Indicates that the order of the child topics is significant; output processors will typically link between them in order.
choice
Indicates that one of the children should be selected.
family
Represents a tight grouping in which each of the referenced topics not only relates to the current topic but also relate to each other.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.

Usage of the collection-type attribute on <reltable> and <relcolspec> is currently undefined and reserved for future use.

(unordered | sequence | choice | family | -dita-use-​conref-​target) #IMPLIED No
type Describes the target of a reference. See The type attribute for detailed information on supported values and processing implications. CDATA #IMPLIED No
scope The scope attribute identifies the closeness of the relationship between the current document and the target resource. See The scope attribute for more information on values. (local | peer | external | -dita-use-​conref-​target) #IMPLIED No
locktitle If locktitle is set to "yes", the <navtitle> element or @navtitle attribute is used if it is present. Otherwise, the navtitle is ignored and the navigation title is retrieved from the referenced file.

Note

The @navtitle attribute is deprecated in favor of the <navtitle> element. When both a <navtitle> element and a navtitle attribute are specified, the <navtitle> element should be used.
yes
The navtitle in the map is used.
no
The navtitle or title of the topic is used. This is the processing default.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(yes | no | -dita-use-​conref-​target) #IMPLIED No
format The format attribute identifies the format of the resource being referenced. See The format attribute for details on supported values. CDATA #IMPLIED No
linking Defines some specific linking characteristics of a topic's current location in the map. If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor.
targetonly
A topic can only be linked to and cannot link to other topics.
sourceonly
A topic cannot be linked to but can link to other topics.
normal
A topic can be linked to and can link to other topics. Use this to override the linking value of a parent topic.
none
A topic cannot be linked to or link to other topics.
-dita-use-​conref-​target
See Using the -dita-use-conref-target value for more information.
(targetonly | sourceonly | normal | none | -dita-use-​conref-​target) #IMPLIED No
toc Specifies whether a topic appears in the table of contents (TOC). If the value is not specified locally, but is specified on an ancestor, the value will cascade from the closest ancestor. (yes | no | -dita-use-​conref-​target) #IMPLIED No
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, outputclass Common attributes described in Other common DITA attributes

Was this helpful?