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>