Conditional processing attributes
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 it in a database
Typically @audience, @platform, @product, @otherprops, @props, @deliveryTarget, 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:
- The product that is the subject of the discussion.
- The platform on which the product is deployed.
- The intended audience of the content.
- The intended delivery target of the content, for example
"html", "pdf", or "epub". This attribute is a replacement for the now deprecated
The @deliveryTarget attribute is specialized from the @props attribute. It is defined in the deliveryTargetAttDomain, which is integrated into all OASIS-provided document-type shells. If this domain is not integrated into a given document-type shell, the @deliveryTarget attribute will not be available.
- The revision or draft number of the current document. (This is used only for flagging.)
- Other properties that do not require semantic identification.
- A generic conditional processing attribute that can be specialized to create new semantic conditional-processing attributes.
Other metadata attributes
Other attributes are still considered metadata on an element, but they are not designed for filtering or flagging.
- The degree of priority of the content. This attribute takes a single value from an enumeration.
- The current state of the content. This attribute takes a single value from an enumeration.
- 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 or parenthesized groups of values).
- 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
<uicontrol outputclass="button">Cancel</uicontrol>The value of the @outputclass attribute can 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.