Effectivity Grammar

To define an effectivity expression, you can use the rules of this following grammar described in the Backus-Naur Form (BNF).

See Also
Assigning Effectivity
Important: As mentioned in Working with Effectivity, effectivity commands are applicable with on premises only.

effectivity ::= [ VariantModel ':' expression ]*

VariantModel ::= name

expression ::= featureExpression
            | ( expression )
            | expression OR expression
            | expression AND expression
            | NOT expression
            | applicability

featureExpression ::= ConfigurationFeature '{' optionExpression '}'

ConfigurationFeature ::= name

optionExpression ::= OptionName [ ',' OptionName ]*

OptionName ::= name

applicability ::= [ '[' ProductRevision '<' optional_ProductRevisionList ']' ]+

ProductRevision ::= name

optional_ProductRevisionList ::= '∞'
                              | ProductRevision [ '<' ProductRevision ]*

Note: Keywords such as OR, AND, NOT, <, (, ), [, ], {, } are forbidden in the object names, but you can use spaces.