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:
- @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.
- @deliveryTarget
- The intended delivery target of the content, for example
"html", "pdf", or "epub". This attribute is a replacement for the now deprecated
@print attribute.
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.
- @rev
- The revision or draft number of the current document. (This is 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.
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 or parenthesized groups of values).
- @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 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.