About the DITAVAL document

A DITAVAL document specifies a set of rules that defines which elements to include, exclude, or flag.

The markup for DITAVAL documents provides a standard way to define all conditional processing that is associated with the DITA specification.

Each rule in a DITAVAL document does one of the following:
  • Defines a rendering behavior for an attribute and value pair, for example, audience="novice".
  • Defines a default behavior for a conditional processing attribute, such as defining a default rendering behavior of exclude for the @deliveryTarget. With that default, any @deliveryTarget value not otherwise defined in the document uses that default behavior of exclude.
  • Defines a default behavior for all conditional processing attributes, such as defining a default rendering behavior of exclude. With that default, any conditional-processing attribute not otherwise defined in the document uses that default behavior of exclude.
Draft comment: Kristen J Eberlein 21 March 2022

Ideally, I'd like this topic to provide a more detailed overview of what can be done with a DITAVAL document. What we say immediately above is technically accurate, but it largely restates what we have in the element-reference topics, rather than providing a good conceptual overview with supporting details. Given the complexity of conditional processing, I think that is what we need here.

Draft comment: robander
TO RESOLVE 11 May 2026: how about if we add a follow-up paragraph that says "the behaviors above can be associated with the following actions"
  1. Instruct processors to include matching content
  2. Instruct processors to exclude matching content
  3. Instruct processors to mark matching revisions
  4. Instruct processors to flag matching content with styles also specified on the <prop> or <revprop> element
  5. Instruct processors to pass the matching attribute through to rendered output, when applicable
  6. Instruct processors to treat the matching content as if the element has an @outputclass attribute, with the value specified in the <prop> (or revprop?) element using @add-outputclass

While the DITAVAL markup is not part of the DITA topic or map vocabulary and cannot be specialized, the XML itself is part of the specification. See DITAVAL elements for details.

Draft comment: Kristen J Eberlein 21 March 2022

The topic (or another archSpec topic) needs to include the following information:

Processors can implement default behaviors for flagging. This might include alternate text to indicate the start and end points of revised content or stylistic formatting when no specific flagging behavior is specified.

Draft comment: robander
TO RESOLVE 11 May 2026: how about we just add that sentence here, or in the list I suggested adding above