<val>
The <val>
element is the root element of a DITAVAL
file.
For information about processing DITAVAL files, including how to filter or flag elements with multiple property attributes or multiple properties within a single attribute, see Conditional processing (profiling).
style-conflict (optional) then (prop or revprop) (any number)
<val>
<style-conflict background-conflict-color="red"/>
<prop action="include" att="audience" val="everybody"/>
<prop action="flag" att="product" val="YourProd" backcolor="purple"/>
<prop action="flag" att="product" backcolor="blue"
color="yellow" style="underline" val="MyProd">
<startflag imageref="startflag.jpg">
<alt-text>This is the start of my product info</alt-text>
</startflag>
<endflag imageref="endflag.jpg">
<alt-text>This is the end of my product info</alt-text>
</endflag>
</prop>
<revprop action="flag" val="1.2"/>
</val>
audience="everybody"
are included without
change.product="YourProd"
get a background color of
purple.product="MyProd"
get the following actions:product="MyProd YourProd"
, it will be flagged with a
background color of red.<val>
<prop action="exclude"/>
<prop action="include" att="audience" val="everybody"/>
<prop action="include" att="audience" val="novice"/>
<prop action="include" att="product" val="productA"/>
<prop action="include" att="product" val="productB"/>
</val>
<prop>
element does not specify an attribute,
which sets a default action of "exclude" for every prop value. This means that,
by default, any property value not otherwise defined in this file evaluates to
"exclude". Note that this same behavior can be limited to a single attribute;
the following <prop>
element sets a default action of
"exclude" for all properties specified on the @platform
attribute:
<prop action="exclude" att="platform"/>
<prop>
elements set an action of
"include" for two values on the @audience
attribute. All other
values on the @audience
attribute still evaluate to
"exclude".<prop>
elements set an action of
"include" for two values on the @product
attribute. All other
values on the @product
attribute still evaluate to
"exclude".<val>
<prop action="exclude" att="product" val="appserver"/>
<prop action="include" att="product" val="mySERVER"/>
<prop action="include" att="database" val="dbFIRST"/>
<prop action="include" att="database" val="dbSECOND"/>
<prop action="exclude" att="database" val="newDB"/>
</val>
@product
attribute. In that case, the sample DITAVAL above
performs the following actions:<prop>
element excludes the value "appserver"
when used within the @product
attribute. It also sets a default
of "exclude" for values within any appserver() group inside of the
@product
attribute.<prop>
element sets "mySERVER" to include;
this applies whether "mySERVER" appears alone in the @product
attribute (product="mySERVER"
) or inside of any group
(product="appserver(mySERVER)"
or
product="otherGroup(mySERVER)"
).<prop>
elements set the database
values "dbFIRST" and "dbSECOND" to include. If those values appear inside of a
"database" group, they are explicitly set to "include". If they appear
elsewhere in a conditional attribute (such as
product="dbFIRST"
or platform="dbSECOND"
),
this rule does not apply.<prop>
element sets the database value
"newDB" to exclude. If that value appears inside of a database group, it is
explicitly set to "exclude". If it appears in any other group or attribute,
this rule does not apply.<p product="appserver">
is filtered out, because this
value is excluded.<p product="appserver(A B)">
is filtered out, because
there is no explicit rule for A or B, and values in the "appserver" group
inside of @product
default to exclude.<p product="appserver(A B mySERVER)">
is included, because
product="mySERVER"
evaluates to "include", which means the
entire group evaluates to "include".<p product="newDB">
is included, because no rule in the
DITAVAL applies, so the "newDB" token defaults to "include".<p product="database(newDB)">
is filtered out, because the
token "newDB" is excluded when found in the database group.<p product="database(dbFIRST dbSECOND newDB)">
is
included, because both "dbFIRST" and "dbSECOND" are included, so the group
evaluates to include.<p product="database(newDB) appserver(mySERVER)">
is
filtered out, because the token "newDB" is excluded when found in the database
group. The entire "database" group on this paragraph evaluates to "exclude", so
the element is excluded, regardless of how the "appserver" group
evaluates.@product
or
@platform
. See Conditional processing (profiling)
for suggestions on how to handle similar groups on different attributes.This element does not define any attributes.