|Metadata, conditional processing, and indexing / Filtering and flagging|
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>