Für jede Differenz wird ein Eintrag in der mdB-Tabelle DDST gesucht. Wenn ein Eintrag gefunden wird bekommt die Differenz den angegebenen Status. Dieser Schritt kann eingeschränkt durchgeführt werden, indem die DiffNamen und Kategorien, die verarbeitet werden sollen, angegeben werden.
Einflussmöglichkeiten
Die Zuordnung des Differenzstatus kann vorher beeinflusst werden indem:
Anschließend kann Einfluss genommen werden indem:
Diese Anpassungen können entweder durch ein Stylesheet, Programm oder manuell durchgeführt werden, wobei der programmatische Ansatz zu bevorzugen ist. Beim Durchführen dieses Bewertungsschrittes kann ein Stylesheet spezifiziert werden das vorher angewendet wird.
Protokoll vorher
<Type DiffName="BsarType" IsDifferent="no" Category="Definition" Weight="Info"> <Left>ASTR</Left> <Right>ASTR</Right> </Type>
Protokoll nachher <code XML> <Type DiffName=„BsarType“ IsDifferent=„no“ Category=„Definition“ Weight=„Info“ Status=„Accept“>
<Left>ASTR</Left> <Right>ASTR</Right>
</Type> <code>
DiffName: Hier kann ein „*“ für alle DiffNamen oder ein bestimmter Diffname eingetragen werden. Kategorie: Hier kann ein „*“ für alle Kategorien eingetragen werden, oder auch eine bestimmte Kategorie. Gewichtung: Hier kann ein „*“ für alle Gewichtungen eingetragen werden, oder auch eine bestimmte Gewichtung. Stufe: Hier kann ein „*“ für alle Stufen eingetragen werden, oder auch eine einzelne Stufe wie z.B. ALRFRG Beschreibung: Eine Beschreibung was der Eintrag ausdrückt Status: Der Status den die Differenz bekommt wenn der Eintrag zutrifft.
Die SQL-Statements um diese Tabelle einzurichten finden Sie hier.
Gesucht wird immer nach einem passenden DiffName, Kategorie, Gewichtung und Umgebung.
Bei jeder Suche werden die genannten Felder exakt gesucht und die anderen Werte mittels Patternmatching verglichen. Bei jedem Eintrag ist der Wildcharacter „*“ erlaubt.
In untenstehender Tabelle sind die Regeln wie sie im Konzept formuliert wurden eingetragen.
DiffName | Kategorie | Gewichtung | Stufe | Beschreibung | Status |
---|---|---|---|---|---|
* | * | Info | * | Alles mit Gewichtung „Info“ | Accept |
* | * | Warning | * | Alles mit Gewichtung „Warning“ | MaybeAccept |
* | * | Severe | * | Alles mit Gewichtung „Severe“ | NotAccept |
Die umgesetzten Regeln in der Tabelle besagen:
Man möchte Oopse in der Umgebung ALRFRG nicht akzeptieren und in den anderen Umgebungen vielleicht akzeptieren. Diese „Regeln“ würden in der Tabelle so aussehen:
DiffName | Kategorie | Gewichtung | Stufe | Beschreibung | Status |
---|---|---|---|---|---|
OopsCount | * | * | ALRFRG | Das vorhandensein von Oopsen wird nicht akzeptiert. | NotAccept |
OopsCount | * | * | * | Das vorhandensein von Oopsen wird vielleicht akzeptiert | MaybeAccept |
Beim Füllen der Tabelle soll immer die Suchreihenfolge im Auge behalten werden. Wenn man Erweiterungen vornehmen möchte ist zu empfehlen, immer mindestens einen Wert exakt zu spezifizieren. Beim Patternmatching wird nicht versucht den passendsten Eintrag zu finden, sondern einen passenden Eintrag. Haben zwei Regeln bei DiffName einen Wildcard eingetragen, dann bestimmt implizit die Reihenfolge welche Regel genommen wird. Beispiel: Der DiffName „*“ und „Oops*“ sind beide nicht exakt und werden beim Patternmatching beide als passend gefunden für eine Differenz „OopsCount“.