About conditional processing
Certain concepts are critical for a full understanding of conditional processing.
- conditional processing
- A process that determines whether content is included, excluded, or flagged. This process is based on a comparison of conditional-processing attributes in the DITA source with the rules that are set in one or more DITAVAL documents.
- conditional processing attribute
-
Attributes that can be used for filtering and flagging. These are the following attributes:
@propsand any attribute specialized from@props, including those integrated by default in the OASIS-provided document-type shells:@audience,@deliveryTarget,@platform,@product,@otherprops- The
@revattribute, which supports flagging but not filtering
- conditional-processing profile
- A set of rules that are provided to a processor for use at rendering time. These rules
are based on one or more DITAVAL documents.Draft comment: rodaande 21 March 2022I'm not certain "conditional processing profile" warrants a separate definition. I added it after going through some of the following topics, and seeing a distinctions between a DITAVAL document and a [set of conditions sent as input to a processor] – for example, DITA-OT or an editor can apply conditions from multiple DITAVAL documents as a single conditional processing profile.Draft comment: robanderTO RESOLVE 11 May 2026: Recommend removing this term
- DITAVAL document
- A document that specifies a set of rules that define which elements to include, exclude,
or flag. A DITAVAL document can be a file on the file system, a set of rules stored in
memory, or another way of storing information that is expressed using DITAVAL
syntax.Draft comment: Kristen J Eberlein 21 March 2022
Do we need to explicitly mention passthrough in the first sentence, or is passthrough considered to be part of flagging? If the latter, we should explicitly state that in the topic where we give a high-level overview of the sort of rules that can be defined using a DITAVAL document.
Draft comment: rodaande 25 March 2022I think it could be considered a form of flagging. Given that I expect usage is low, and it is so nebulous ("do this and something might happen, if your rendering format enables it"), I don't think it deserves a whole topic on its own. Could we broaden the definition of flagging to say that it also encompasses the "passthrough" value, and then extend the "Flagging" topic to cover both?Draft comment: robanderTO RESOLVE 11 May 2026: How about if we update the definition of "flagging" below to clarify that this can also include other modifications to the output, such as preserving DITA attributes in the rendered output, or through the use of@add-outputclass, processing matching DITA elements as if they had a specified@outputclassattribute. - filtering
- The process of excluding content at rendering time.
Draft comment: Kristen J Eberlein 21 March 2022
Do we need to broaden the definition of filtering and mention inclusion also?
Draft comment: rodaande 25 March 2022
I'm wary of trying to pin down a broad
term like "including", but I don't really know. The assumption of the spec, and I assumed
of spec readers, was that the DITA content is rendered in some way (in an editor, as HTML,
as PDF, etc), and that by default the DITA content is meant for publishing. For that
reason, we go out of our way to say *not* to render data elements and foreign elements,
but we don't do the reverse for paragraphs, tables, etc.I'm not sure though, beause "include" is clearly a value you can specity in DITAVAL.
Draft comment: robander
TO RESOLVE 11 May 2026: how about if we just update this to
say "The process of including or excluding content at rendering time"- flagging
- The process of emphasizing content by inserting images, text, or stylistic formatting at rendering time.