Conditional processing dangers
Any filtering conditions that apply must still result in valid DITA mark-up.
When using filtering in single-sourcing, you must be careful to ensure that a conditional processing rule doesn't result in invalid DITA. Filtering must not result in a required element being removed during processing.
For example, in the following snippet, if a condition of
exclude web_only and exclude print_only
was set, there would be no
steps in the task, and the topic would be invalid. (The
steps element requires at least one child
step element.)
<task id="myTopic">
<title>Making a Warranty Claim</title>
<taskbody>
<context>...</context>
<steps>
<step otherprops="web_only">...</step>
<step otherprops="print_only">...</step>
</steps>
<result>...</result>
</taskbody>
</task>