Conditional processing attributes

Darwin Information Typing Architecture (DITA) Version 1.2

The metadata attributes specify properties of the content that can be used to determine how the content should be processed. Specialized metadata attributes can be defined to enable specific business processing needs, such as semantic processing and data mining.

Metadata attributes typically are used for the following purposes:

  • Filtering content based on the attribute values, for example, to suppress or publish profiled content
  • Flagging content based on the attribute values, for example, to highlight specific content on output
  • Performing custom processing, for example, to extract business-critical data and store in it a database

Typically @audience, @platform, @product, @otherprops, @props, and specializations of the @props attributes are used for filtering; the same attributes plus the @rev attribute are used for flagging. The @status and @importance attributes, as well as custom attributes specialized from @base, are used for application-specific behavior, such as identifying metadata to aid in search and retrieval.

Filtering and flagging attributes

The following conditional-processing attributes are available on most elements:

product
The product that is the subject of the discussion.
platform
The platform on which the product is deployed.
audience
The intended audience of the content.
rev
The revision or draft number of the current document. (This is typically used only for flagging.)
otherprops
Other properties that do not require semantic identification.
props
A generic conditional processing attribute that can be specialized to create new semantic conditional processing attributes.

In general, a conditional processing attribute provides a list of one or more values separated with whitespace. For instance, audience="administrator programmer" qualifies the content as applying to administrators and programmers.

Other metadata attributes

Other attributes are still considered metadata on an element, but they are not designed for filtering or flagging.

importance
The degree of priority of the content. This attribute takes a single value from an enumeration.
status
The current state of the content. This attribute takes a single value from an enumeration.
base
A generic attribute that has no specific purpose, but is intended to act as the basis for specialized attributes that have a simple value syntax like the conditional processing attributes (one or more alphanumeric values separated by whitespace).
outputclass
Provides a label on one or more element instances, typically to specify a role or other semantic distinction. As the @outputclass attribute does not provide a formal type declaration or the structural consistency of specialization, it should be used sparingly, usually only as a temporary measure while a specialization is developed. For example, <uicontrol> elements that define button labels could be distinguished by adding an @outputclass attribute:
<uicontrol outputclass="button">Cancel</uicontrol>
The value of the @outputclass attribute may be used to trigger XSLT or CSS rules, while providing a mapping to be used for future migration to a more specialized set of user interface elements.