In this second article, dive a little deeper into theintricacies of DTML by getting up close and personal with conditionalstatements and comparison operators. This article discusses thedifferent variants of the "if" statement available in DTML, togetherwith examples and code listings that demonstrate how they can be used ina Web applications.
For the adventurous amongst you, DTML also lets you "nest" conditionalstatements - for example, this is perfectly valid DTML code.
<dtml-if expr="day == 'Thursday'">
<dtml-if "time == '12'>
<dtml-if "place == 'Italy'">
How about some pasta for lunch?
</dtml-if>
</dtml-if>
</dtml-if>
But you'll agree that is both complex and frightening. And so, inaddition to the comparison operators I've used so liberally thus far,Python also provides the "and", "or" and "not" logical operators whichallow you to group conditional expressions together. The following tableshould make this clearer.
Assume delta = 12, gamma = 12 and omega = 9
delta == gamma and delta > omega True
delta == gamma and delta < omega False
delta == gamma or delta < omega True
delta > gamma or delta < omega False
not delta False
Given this knowledge, it's a simple matter to rewrite the example abovein terms of logical operators:
<dtml-if expr="(day == 'Thursday') and (time == '12') and (place ==
'Italy')">
How about some pasta for lunch?
</dtml-if>