Table of Contents minLevel 3 outline true style none
Description
The if statement selects a statement for execution based on the value of a boolean expression.
...
Syntax Notes
Reserved keywords
Tag |
---|
if |
then |
else |
condition= |
- The boolean expression is evaluated for determining the path to take for execution.
- If the boolean expression yields true, control is transferred to the first embedded statement. When and if control reaches the end point of that statement, control is transferred to the end point of the if statement.
- If the boolean expression yields false and if an else part if present, control is transferred to the second embedded statement. When and if control reaches the end point of that statement, control is transferred to the end point of the if statement.
- If the boolean expression yields false and if an else part if not present, control is transferred to the end point of the if statement.
- if statements can be nested.
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<if condition="[:RuntimeParams.EnforceKey:]"> <then> <Log Message="I am in true block!"/> </then> <else> <Log Message="I am in false block!"/> </else> </if> </Query> |
...
Using XPath Boolean Expressions
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<if condition="/'[:$Macro.Argument.StopWid:]' != '' and '[:$Macro.Argument.StopTarget:]' != ''"> <Log Message="I am in true block!"/> <if condition="/'[:$Macro.Argument.SiteCur:]' = '[:CONFIG.CompanyId:]' or [:$ProcessData.$BTV.Worker.SlackCounter:] >= [:CONFIG.RULES.MaxWorkerSlack:] or [:$LocalData.Rand:] > [:$ProcessData.$BTV.Worker.SlackTendency:]"> <Log Message="I am in true, true block!"/> </if> </if> |
Examples of "if" Statements
Various examples of "if" statements
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<!-- Combining number comparsion with non number comparison -->
<!-- Note here: count is a XPath function. This menthod essentially find number of Result Elements -->
<!-- Note that CPUUtilization and MemoryUtilitzation must return boolean -->
<If condition="[:/boolean('[:$LocalData.MonitorData.Find/count(Result) ne 0:]'
and ('[:$ProcessData.CPUUtilization:]'
lt '[:$ProcessData.MemoryUtilization:]')):]">
<Then>
</Then>
</If> |
Comparing Numbers from Context Data;
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<Query>
<SetContextData Key="AMB" Value="90"/>
<If Condition="[:/[:$ContextData.AMB:] lt 100:]">
<Then>
<SetResponseData>
<Key>Message.Value.AMBResult</Key>
<Value>Less than 100</Value>
</SetResponseData>
</Then>
<Else>
<SetResponseData>
<Key>Message.Value.AMBResult</Key>
<Value>Greater than 100</Value>
</SetResponseData>
</Else>
</If>
</Query> |