Not rule
Rule types – Abstract
Each rule configuration can be logically ‘negated’ – regardless of whether it is a single ‘rule’ or a complex combination of several Rule types in a Junction.
This negation of a rule is achieved by executing the not function in the context menu (highlighted in green in the screenshot above) for the rule or Junction to be negated.
If there is not already a ‘negation’ for the selected position in the rule configuration, selecting the not function causes a Not rule to be ‘inserted’ at this position, which contains the previous rule or Junction.
►IMPORTANT◄ To remove an existing negation, the not function must also be selected.
The Not rule does not appear on the surface as an independent ‘rule’. However, the ‘negation’ is indeed visualised:
If a rule is negated, an exclamation mark appears as a prefix in the header of the rule element (see table).
The graphic exclamation mark symbol at the bottom of the ‘negated’ element is much more distinctive (see table).
Negated Variable rule (collapsed) |
Negated Variable rule (collapsed) |
|
|
|
►NOTE◄ The negation of the rule is not the same as checking whether the DEFCON Variable contains a value other than 1. After all, the rule is passed even if the variable does not exist at all. |
Negation of an OR Junction within an AND Junction (left: collapsed, right: expanded) |
||
This example shows the appearance of a ‘negation’ within a somewhat more complex logical aggregate. With a negated OR Junction within an AND Junction.
|
|
|
The negation here only affects the OR Junction and not the superordinate AND Junction.
|
Even if the Not rule does not superficially appear as an independent element, a node (core:NotRule) appears in the XML image (here for the first simple example):
|
The Edit as XML function in the context menu of a negated rule or Junction shows how the inner rule is embedded in the Not rule.
|
XML-Abbild
<? xml version = "1.0" encoding = "UTF-8" ?> < core :NotRule xmlns:core = "CORESYSTEM" > < core :StorageStringRule> < storageKey >DEFCON</ storageKey > < storageValue >1</ storageValue > </ core :StorageStringRule> </ core :NotRule> |