-
Notifications
You must be signed in to change notification settings - Fork 8
/
expressiontokens.htm
83 lines (82 loc) · 10.4 KB
/
expressiontokens.htm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<!DOCTYPE HTML>
<html id="hs-topic-p">
<!-- saved from url=(0025)http://www.helpsmith.com/ -->
<head>
<title>Expression Tokens</title>
<meta charset="windows-1252" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="generator" content="HelpSmith 9.8 (Build 23.1026)" />
<link type="text/css" rel="stylesheet" href="../css/topics/style.css" />
<script type="text/javascript" src="../js/jquery-3.7.1.min.js"></script>
<style type="text/css" media="screen">
html {
height: 100%;
}
body {
margin: 0;
}
</style>
<script type="text/javascript" src="../js/settings.js?d3532453"></script>
<script type="text/javascript" src="../js/core.min.js?adb9c364"></script>
<script type="text/javascript" src="../js/topic.min.js?adb9c364"></script>
<script type="text/javascript">
var topicContext = 1300;
</script>
<!-- Web Help Topic -->
<!-- HTML Help (CHM) Topic -->
</head>
<body class="nsa-wrapper">
<div id="nsa-box" class="nsa-content0">
<h1 class="hd0"><span class="ts0">Expression Tokens</span></h1>
</div>
<div id="sa-box">
<div id="content-box" class="sa-content0">
<p> </p>
<p class="ps1"><span class="ts2">Expressions are special tokens that can be used within template files in order to include or exclude a piece of code based on some condition. There are several different types of expressions that can be used in different places within a template file. For example, there are expressions that can be used in a field loop which allow you to include or exclude sections of code based on the attributes of the field that is currently being processed.</span></p>
<p class="ps1"><span class="ts2">There are two types of expressions:</span></p>
<p class="ps1"><span class="ts2">Multi-line expressions cause one or more lines of output code to be included or excluded, based on the evaluation of the expression, and occur when the opening and closing conditional tags appear on separate lines in a template file, and delimit one or more entire lines of template code, like this:</span></p>
<p class="ps9"><span class="ts4"><IF expression</span><span class="ts3">></span><br /><span class="ts3">code</span><br /><span class="ts4"></IF[ expression]></span></p>
<p class="ps1"><span class="ts2">In-line expressions cause part of an output line to be included or excluded based on the evaluation of the expression, and occur when the opening and closing conditional tags appear on the same line in a template file, and delimit part of a line of template code, like this:</span></p>
<p class="ps9"><span class="ts3">[code] </span><span class="ts4"><IF expression></span><span class="ts3"> code </span><span class="ts4"></IF[ expression]></span><span class="ts3"> [code]</span></p>
<h2 class="hd1"><span class="ts1">Alternate Expression Closing Tags</span></h2>
<p class="ps1"><span class="ts2">In complex template files you may prefer to use an alternate format of the closing </span><span class="ts3"></IF></span><span class="ts2"> tag which includes the name of the condition. For example, if you are using an </span><span class="ts3"><IF INTEGER></span><span class="ts2"> expression you can chose to specify the closing tag as </span><span class="ts3"></IF INTEGER></span><span class="ts2">. Doing so can help to make template files more readable.</span></p>
<h2 class="hd1"><span class="ts1">Single ELSE Clauses</span></h2>
<p class="ps1"><span class="ts2">Single ELSE clauses allow you to test for both positive and/or negative matches to an expression, and are supported in multi-line expressions, like this:</span></p>
<p class="ps9"><span class="ts4"><IF expression></span><br /><span class="ts3">code</span><br /><span class="ts4"><ELSE></span><br /><span class="ts3">code</span><br /><span class="ts4"></IF[ expression]></span></p>
<p class="ps1"><span class="ts2">And in in-line expressions, like this:</span></p>
<p class="ps9"><span class="ts3">[code] </span><span class="ts4"><IF expression></span><span class="ts3"> code </span><span class="ts4"><ELSE></span><span class="ts3"> code </span><span class="ts4"></IF[ expression]></span><span class="ts3"> [code]</span></p>
<h2 class="hd1"><a id="MULTIPLE_ELSE_CLAUSE"></a><span class="ts1">Multiple ELSE Clauses</span></h2>
<p class="ps1"><span class="ts2">Multiple ELSE clauses allow you to test several expressions at the same time, similar to using an "else if" construct in a programming language, and are supported in multi-line expressions, like this:</span></p>
<p class="ps9"><span class="ts4"><IF expression_1</span><span class="ts3">></span><br /><span class="ts3">code</span><br /><span class="ts4"><ELSE expression_2></span><br /><span class="ts3">code</span><br /><span class="ts4">[<ELSE expression_n></span><br /><span class="ts3">code]</span><br /><span class="ts4"></IF[ expression_1]></span></p>
<p class="ps1"><span class="ts2">And in in-line expressions, like this:</span></p>
<p class="ps9"><span class="ts3">[code] </span><span class="ts4"><IF expression_1></span><span class="ts3"> code </span><span class="ts4"><ELSE expression_2></span><span class="ts3"> code </span><span class="ts4">[<ELSE expression_n></span><span class="ts3"> code]</span><span class="ts4"></IF[ expression]></span><span class="ts3"> [code]</span></p>
<p class="ps1"><span class="ts2">When using multiple else clauses, all expressions must be of the same type. For example when using field loop expressions, you could use a construct like this:</span></p>
<p class="ps9"><span class="ts4"><IF ALPHA</span><span class="ts3">></span><br /><span class="ts3">code for alpha fields</span><br /><span class="ts4"><ELSE DECIMAL></span><br /><span class="ts3">code for decimal fields</span><br /><span class="ts4"><ELSE INTEGER></span><br /><span class="ts3">code for integer fields</span><br /><span class="ts4"></IF></span></p>
<h2 class="hd1"><span class="ts1">Nesting Expressions</span></h2>
<p class="ps1"><span class="ts2">Multi-line expressions may be nested within one another. For example:</span></p>
<p class="ps9"><span class="ts4"><IF expression_1></span><br /><span class="ts3">[code]</span><br /><span class="ts4"><IF expression_2></span><br /><span class="ts3">code</span><br /><span class="ts4"></IF[ expression_2]></span><br /><span class="ts3">[code]</span><br /><span class="ts4"></IF[ expression_1]></span></p>
<p class="ps1"><span class="ts2">In-line expressions may be nested within multi-line expressions.</span></p>
<p class="ps9"><span class="ts4"><IF expression_1></span><br /><span class="ts3">[code]</span><br /><span class="ts3">[code] </span><span class="ts4"><IF expression_2></span><span class="ts3">code</span><span class="ts4"></IF[ expression_2]></span><span class="ts3"> [code]</span><br /><span class="ts3">[code]</span><br /><span class="ts4"></IF[ expression1]></span></p>
<p class="ps1"><span class="ts2">Multiple in-line expressions may be used within the same line:</span></p>
<p class="ps9"><span class="ts3">[code] </span><span class="ts4"><IF expression_1></span><span class="ts3">code</span><span class="ts4"></IF[ expression_1]></span><span class="ts3"> [code] </span><span class="ts4"><IF expression_2></span><span class="ts3">code</span><span class="ts4"></IF[ expression_2]></span><span class="ts3"> [code]</span></p>
<p class="ps1"><span class="ts2">In-line expressions may be embedded within one another:</span></p>
<p class="ps9"><span class="ts3">[code] </span><span class="ts4"><IF expression_1></span><span class="ts3">[code]</span><span class="ts4"><IF expression_2></span><span class="ts3">code</span><span class="ts4"></IF[ expression_2]></IF[ expression_1]></span><span class="ts3"> [code]</span></p>
<h2 class="hd1"><a id="COMPLEX_EXPRESSIONS"></a><span class="ts1">Complex Expressions</span></h2>
<p class="ps1"><span class="ts2">Complex Expressions allow you to use AND, OR and NOT operators within expression tokens, and also allows you to use parentheses to explicitly define precedence. Here are some examples:</span></p>
<p class="ps9"><span class="ts3"><IF expression_1 </span><span class="ts4">AND</span><span class="ts3"> expression_2></span><br /><span class="ts3">[code]</span><br /><span class="ts3"></IF></span></p>
<p class="ps9"><span class="ts3"><IF expression_1 </span><span class="ts4">OR</span><span class="ts3"> expression_2></span><br /><span class="ts3">[code]</span><br /><span class="ts3"></IF></span></p>
<p class="ps9"><span class="ts3"><IF </span><span class="ts4">NOT</span><span class="ts3"> expression_1></span><br /><span class="ts3">[code]</span><br /><span class="ts3"></IF></span><br /><br /><span class="ts3"><IF </span><span class="ts4">NOT</span><span class="ts3"> expression_1 </span><span class="ts4">AND</span><span class="ts3"> expression_2></span><br /><span class="ts3">[code]</span><br /><span class="ts3"></IF></span></p>
<p class="ps9"><span class="ts3"><IF expression_1 </span><span class="ts4">AND</span><span class="ts3"> </span><span class="ts4">(</span><span class="ts3">expression_2 </span><span class="ts4">OR</span><span class="ts3"> expression_3</span><span class="ts4">)</span><span class="ts3">></span><br /><span class="ts3">[code]</span><br /><span class="ts3"></IF></span></p>
<p class="ps9"><span class="ts3"><IF expression_1 </span><span class="ts4">OR</span><span class="ts3"> expression_2></span><br /><span class="ts3">[code]</span><br /><span class="ts3"><ELSE expression_3 </span><span class="ts4">AND</span><span class="ts3"> expression_4></span><br /><span class="ts3">[code]</span><br /><span class="ts3"><ELSE></span><br /><span class="ts3">[code]</span><br /><span class="ts3"></IF></span></p>
<p class="ps1"><span class="ts2"> </span></p>
<p><span class="ts2"> </span></p>
<p><span class="ts2"> </span></p>
<div class="hr-wrapper">
<hr class="hline1" />
</div>
<p class="ps8"><span class="ts10">Copyright © 2021 Synergex International, Inc.</span></p>
</div>
</div>
</body>
</html>