Example: Single <ditavalref>
on a branch
A single <ditavalref>
element can be used to supply filtering
conditions for a branch.
Consider the following DITA map and the DITAVAL file that is referenced from the
<ditavalref>
element:
<map>
<topicref href="intro.dita"/>
<topicref href="install.dita">
<ditavalref href="novice.ditaval"/>
<topicref href="do-stuff.dita"/>
<topicref href="advanced-stuff.dita" audience="admin"/>
<!-- more topics -->
</topicref>
<!-- Several chapters worth of other material -->
</map>
<val>
<prop att="audience" val="novice" action="include"/>
<prop att="audience" val="admin" action="exclude"/>
</val>
When this content is published, the following processing occurs:
- The first topic (intro.dita) does not use any of the conditions that are specified in novice.ditaval. It is published normally, potentially using other DITAVAL conditions that are specified externally.
- The second topic (install.dita) is filtered using any external conditions as well as the conditions that are specified in novice.ditaval.
- The third topic (do-stuff.dita) is filtered using any external conditions as well as the conditions that are specified in novice.ditaval.
- The fourth topic (advanced-stuff.dita) is removed from the map entirely, because it is filtered out with the conditions that are specified for the branch.
In this example, no resources are renamed based on the
<ditavalref>
processing.
Note:
In cases where the original resource names map
directly to names or anchors in a deliverable, the absence of renaming ensures that
external links to those topics are stable regardless of whether a DITAVAL document is
used.