At processing time, a conditional processing profile can be used to specify profiling attribute values that determine whether an element with those values is included or excluded.
By default, values in conditional processing attributes that are not defined in a DITAVAL profile evaluate to "include". For example, if the value audience="novice" is used on a paragraph, but this value is not defined in a DITAVAL profile, the attribute evaluates to "include".
However, the DITAVAL profile can change this default to "exclude", so that any value not
explicitly defined in the DITAVAL profile will evaluate to "exclude". The DITAVAL profile also
can be used to change the default for a single attribute; for example, it can declare that values
@platform attribute default to "exclude", while those in the
@product attribute default to include. See DITAVAL elements for information on how to set up a
DITAVAL profile and how to change default behaviors.
When deciding whether to include or exclude a particular element, a processor should evaluate each attribute independently:
For example, if a paragraph applies to three products and the publisher has chosen to exclude all of them, the processor should exclude the paragraph. This is true even if the paragraph applies to an audience or platform that is not excluded. But if the paragraph applies to an additional product that has not been excluded, then its content is still relevant for the intended output and should be preserved.
<steps> <step><cmd>Common step</cmd></step> <step product="appserver(mySERVER) database(ABC dbOtherName)"> <cmd>Do something special for databases ABC or OtherName when installing on mySERVER</cmd> </step> <!-- additional steps --> </steps>
If a publisher decides to exclude the application server mySERVER, then the appserver() group evaluates to exclude. This can be done by setting product="mySERVER" to exclude or by setting appserver="mySERVER" to exclude. This means the step should be excluded, regardless of how the values "ABC" or "dbOtherName" evaluate. If a rule is specified for both product="mySERVER" and appserver="mySERVER", the rule for the more specific group name "appserver" takes precedence.
Similarly, if both "ABC" and "dbOtherName" evaluate to exclude, then the database() group evaluates to exclude and the element should be excluded regardless of how the "mySERVER" value is set.
@productattribute. Thus when "myDB" appears in a database() group within the
@productattribute, the full precedence for determining whether to include or exclude the value is as follows:
Return to main page.
Standards Track Work Product
|Copyright © OASIS Open 2016. All Rights Reserved.||30 August 2016|