Conditional processing (profiling)

Conditional processing, also known as profiling, is the filtering or flagging of information based on processing-time criteria.

DITA defines attributes that can be used to enable filtering and flagging individual elements. The @audience, @deliveryTarget, @otherprops, @platform, and @props attributes (along with specializations of @props) allow conditions to be assigned to elements so that the elements can be included, excluded, or flagged during processing. The @rev flagging attribute allows values to be assigned to elements so that special formatting can be applied to those elements during processing. A conditional-processing profile specifies which elements to include, exclude, or flag. DITA defines a document type called DITAVAL for creating conditional-processing profiles.

Processors SHOULD be able to perform filtering and flagging using the attributes listed above. The @props attribute can be specialized to create new attributes, and processors SHOULD be able to perform conditional processing on specializations of @props.

Although metadata elements exist with similar names, such as the <audience> element, processors are not required to perform conditional processing using metadata elements.