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:
input.ditamap:
<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>
Contents of novice.ditaval
<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 innovice.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 innovice.ditaval. - The third topic (
do-stuff.dita) is filtered using any external conditions as well as the conditions that are specified innovice.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.