The <<case...>> function provides the switch-case logic to the SDML. It takes a required switch argument and at least one case-expression argument pair. It may take as many additional case-expression pairs as are needed, plus an optional default argument.
switch case1=exprssion1 [caseN=expressionN] [default=defaultExpression]>>
- switch The value the function will switch on, comparing to the value of each case argument until a match is found.
- case1 The first case argument to the function. This is a required argument and must be immediately followed by an equal sign (=) with no whitespace between the case argument and the sign. The expression1 argument immediately follows the equal sign, also with no whitespace allowed.
- expression1 The first expression argument to the function. This is a required argument and contains the value the function will return when switch matches case1. case1 and expression1 are separated by an equal sign with no whitespace allowed between then, as in: case1=expression1. Any SDML text in expression1 will be expanded after it has been returned by the function.
- caseN Additional optional case arguments to the function. If case1 does not match switch, the function will compare each subsequent case argument in order until a match is found. Each caseN argument must be followed by and equal sign and then a corresponding expressionN value. No whitespace can exist between each case-expression pair.
- expressionN Additional optional expression arguments to the function. Each case argument must be followed by a corresponding expressionN value. Each case-expression argument pair must be separated by an equal sign with no white space allowed between then, as in: caseN=expressionN. Any SDML text in expressionN will be expanded after it has been returned by the function.
- default=defaultExpression This optional argument specifies the expression returned by the function should the switch not match any of the case values. The syntax for this argument requires the text default= followed by the default expression the function should return.