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>