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) |
|
|
|
►ANMERKUNG◄ Die Verneinung der Regel ist dabei nicht gleichzusetzen mit einer Prüfung, ob die Variable DEFCON einen anderen Wert als 1 enthält. Immerhin wird die Regel auch dann bestanden, wenn die Variable überhaupt nicht existiert. |
Verneinung einer ODER-Junction innerhalb einer UND-Junction (links: zugeklappt, rechts: aufgeklappt) |
||
Dieses Beispiel zeigt das Erscheinungsbild einer "Verneinung" innerhalb eines etwas komplexeren logischen Aggregats. Mit einer verneinten ODER-Junction innerhalb einer UND-Junction.
|
|
|
Die Verneinung betrifft hier nur die ODER-Junction und nicht die übergeordnete UND-Junction.
|
Auch wenn die Not rule oberflächlich nicht als eigenständiges Element in Erscheinung tritt, erscheint im XML-Abbild (hier für das erste einfache Beispiel) ein Knoten (core:NotRule):
|
Die Funktion Als XML editieren im Kontextmenü einer verneinten Regel bzw. Junction zeigt wie die innere Regel in die Not rule eingebettet ist.
|
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> |