DITAVALs are files that filter content based on the rules defined within them. Use DITAVALs to filtercontent so that it changes when you deliver it according to the rules in your DITAVAL. A DITAVAL can hold multiple rules that utilize conditional processing attributes.
The action attribute enables you to process profiled content in the following ways:
- Includes content in the output.
- Excludes content from the output.
- Includes content in the output and preserves the attribute value for further processing. This may be useful for some outputs that include a filtering functionality.
- Includes and flags content in the output.
By default, conditional content is processed the following way:
- Content that does not have a conditional profiling attribute is included in the deliverable.
The default behavior of conditional profiling is to include content, so if you have only one condition, use only an exclude rule.
- You cannot nest conditions. Parent conditional elements take precedence over children conditional elements.
Keep the following guidelines in mind when working with DITAVALs:
- You can create generic DITAVAL files that apply to any map. We recommend using generic DITAVALs if there is not much conditional content in your documentation.
Examples: customer_facing_online or internal_print.
- You can create DITAVAL files that apply only to specific maps. We recommend using map-specific DITAVALs if there is a lot of conditional content in your documentation.
Examples: map_title_customer_facing or map_title_internal_print.
- Establish a DITAVAL naming convention to ensure that everyone in your organization can easily find and identify DITAVALs.
- Create DITAVALs for all conditional profiles to ensure that you do not accidentally publish content that you want to filter out.
Apply conditions in the context of the deliverable or target map, rather than on content in a library or warehouse file.
Keep the maintenance of conditional profiling in mind as you apply conditions. For example, apply conditions to entire steps or paragraphs instead of words. If you need different terms in different contexts, consider using keys instead of conditional profiling.