Definition von Bedingungen, die das Verhalten der Verzeichniserstellung steuern.
Es ist zum Beispiel möglich, das Erzeugen eines Ordners von dem Wert einer ENV abhängig zu machen.
Die Condition muss immer ein Element Value besitzen.
<Value>FileHelper:UseActiveSkin32</Value>
Über dieses Element wird der abhängige Wert definiert. Der Wert verfügt über vier mögliche Präfixe:
Definition eines harten Wertes z.b.
<Value>value:Hallo</Value>
Angabe einer env, z.B.
<Value>env:picpath</Value>
Aufruf von speziellen Funktionen. Möglich sind UsePrint64 und UseActiveSkin64 Beide liefern jeweils einen Wahrheitswert (true/false).
UsePrint64 liefert true, wenn eine 64bit Druckumgebung verwendet wird.
UseActiveSkin64 liefert true, wenn ein 64bit SOG ERP verwendet wird.
Aufruf von speziellen Funktionen. Möglich ist EnumerateFirmen. Diese Funktion liefert die verschiedenen Firmen mit Semikolon getrennt.
Beziehend auf das Value Element müssen darüberhinaus ConditionValue-Elemente angelegt werden.
über diese können dann mögliche Bedingungen abhängig vom Value definiert werden.
Ein ConditionValue Element muss einen Element Name besitzen. Über dieses wird die spätere Referenzierung mittels Platzhaltern im Format %{NAME} ermöglicht.
Optionale Elemente sind:
Über dieses Element kann der Wert definiert werden, wann ein ConditionValue erfüllt ist. Entweder als fester Wert, ENV oder der sonderfall #ELSE, dieser ist immer dann gültig, wenn kein anderes ConditionValue gültig ist. Ist dieses Element nicht angegeben, ist das ConditionValue immer erfüllt.
Hier kann der Ergebniswert definiert werden, wenn das ConditionValue erfüllt ist. Ist dieses Element nicht angegeben, wird das MatchingValue verwendet.
Folgende Condition steuert den Namen der SOGPSetup.exe, abhängig davon, ob eine 64bit Umgebung vorhanden ist.
Der Name "PrintBitExe" ist doppelt definiert, sodass in beiden möglichen Fällen "true" und "false" der Funktion FileHelper:UsePrint64 ein Ergebnis vorhanden ist.
<Condition>
<Value>FileHelper:UsePrint64</Value>
<ConditionValue>
<Name>PrintBitExe</Name>
<MatchingValue>true</MatchingValue>
<ResultValue>SOGPSetup64.exe</ResultValue>
</ConditionValue>
<ConditionValue>
<Name>PrintBitExe</Name>
<MatchingValue>false</MatchingValue>
<ResultValue>SOGPSetup.exe</ResultValue>
</ConditionValue>
</Condition>
Folgende Condition liefert die Aufzählung aller Firmen. Da das ConditionValue kein MatchingValue besitzt, ist dieses immer gültig.
<Condition>
<Value>ERPHelper:EnumerateFirmen</Value>
<ConditionValue>
<Name>Firmen</Name>
</ConditionValue>
</Condition>
Im folgenden Beispiel wird die ENV nummer ausgewertet. Sollte sie 1 oder 2 sein wird jeweils "EINS" oder "ZWEI" als Ergebnis geliefert, andernfalls "UNGUELTIG ${nummer}" wobei ${nummer} durch den entsprechenden Wert ersetzt wird.
<Condition>
<Value>env:nummer</Value>
<ConditionValue>
<Name>Nummer</Name>
<MatchingValue>1</MatchingValue>
<ResultValue>EINS</ResultValue>
</ConditionValue>
<ConditionValue>
<Name>Nummer</Name>
<MatchingValue>2</MatchingValue>
<ResultValue>ZWEI</ResultValue>
</ConditionValue>
<ConditionValue>
<Name>Nummer</Name>
<MatchingValue>#ELSE</MatchingValue>
<ResultValue>UNGUELTIG ${nummer}</ResultValue>
</ConditionValue>
</Condition>