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