Description
The if statement selects a statement for execution based on the value of a boolean expression.
Syntax
Conditional Statement Syntax
<if condition="boolean-expression"> <then> embedded-statement </then> <else> embedded-statement </else> </if>
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.
The key part of writing and using the if statement is creating boolean expressions. The boolean expression has to evaluate to true or false. The examples below provide different types
Examples
If then else with constant expression
<if condition="true"> <then> <Log Message="I am in true block!"/> </then> <else> <Log Message='I am in false block!"/> </else>
If then else with constant expression
<if condition="true"> <then> <Log Message="I am in true block!"/> </then> <else> <Log Message='I am in false block!"/> </else>
Boolean value stored in some user defined tags
<if condition="[:RuntimeParams.EnforceKey:]"> <then> <Log Message="I am in true block!"/> </then> <else> <Log Message="I am in false block!"/> </else> </if> </Query>
Note that XPath expressions can be part expression operands.
Boolean Expression for string comparison.
<if condition="$ContextData/projectKey eq '[:RuntimeParams.ProjectSettings_ProjectKey:]'"> <then> <Log Message="I am in true block!"/> </then> <else> <Log Message="I am in false block!"/> </else> </if>