The metadata attributes express qualifications on the content.
These qualifications can be used to modify the processing of the content.
One typical use of the metadata attributes is to filter content based on
their values. Another typical use is to flag content based on their values,
for example by highlighting the affected text on output. Typically audience,
platform, product, and otherprops are used for filtering, and the same attributes
plus rev are used for flagging. Status and importance are used for tool-specific
or transform-specific behavior, for example marking steps in a task as optional
or required.
In general, a metadata attribute provides a list of one or more qualification
values, separating those values with whitespace. For instance, an audience
attribute of administrator programmer qualifies the content
as applying to administrators and programmers.
For a topic, the audience, platform, and product metadata can be expressed
with attributes on the topic element or with elements within the topic prolog.
While the metadata elements are more expressive, the meaning of the values
is the same, and can be used in coordination: for example, the prolog elements
can fully define the audiences for a topic, and then metadata attributes can
be used within the content to identify parts that apply to only some of those
audiences.
- audience
- The values from the enumerated attributes of the audience metadata element
have the same meaning when used in the audience attribute of a content element.
For instance, the "user" value has the same meaning whether appearing in the
type attribute of the audience element for a topic or in the audience attribute
of a content element. The principle applies to the type, job, and experience
level attributes of the audience element.
The values in the audience attribute
may also be used to reference a more complete description of an audience in
an audience element. Use the name of the audience in the audience element
when referring to the same audience in an audience attribute.
The audience
attribute takes a blank-delimited list of values, which may or may not match
the name value of any audience elements.
- platform
- The platform might be the operating system, hardware, or other environment.
This attribute is equivalent to the platform element for the topic metadata.
The platform attribute takes a blank-delimited list of values, which
may or may not match the content of a platform element in the prolog.
- product
- The product or component name, version, brand, or internal code or number.
This attribute is equivalent to the prodinfo element for the topic metadata.
The product attribute takes a blank-delimited list of values, which
may or may not match the value of the prodname element in the prolog.
- importance
- The degree of priority of the content. This attribute takes a single value
from an enumeration.
- rev
- The identifier for the revision level.
- status
- The current state of the content. This attribute takes a single value
from an enumeration.
- otherprops
- A catchall for metadata qualification values about the content. This attribute
is equivalent to the othermeta element for the topic metadata.
The product attribute takes a blank-delimited list of values, which
may or may not match the values of othermeta elements in the prolog.
The
attribute can also take labelled groups of values. A labelled group consists
of a string value followed by an open parenthesis followed by one or more
blank-delimited values followed by a close parenthesis. The simple format
is sufficient when an information set requires only one additional metadata
axis, in addition to the base metadata attributes of product, platform, and
audience. The full format is useful when an information set requires two or
more additional metadata axes. A process can detect which format is in use
by the presence of parentheses in the attribute.
For example, a simple
otherprops value list: <codeblock otherprops="java cpp">
For
example, a complex otherprops value list: <codeblock otherprops="proglang(java
cpp) commentformat(javadoc html)">