Boolean expressions
===================

Simple Template Language: a case for boolean expressions.
Simplifying the construction of namespaces.



categories = []
for category in root.get_categories():
    category['is_selected'] = category['id'] = self.category
namespace['categories'] = categories


<option stl:repeat="option categories"
        stl:attributes="value option/id;
                        selected option/is_selected"
        stl:content="option/label" />



namespace['categories'] = root.get_categories()

<option stl:repeat="option categories"
        stl:attributes="value option/id;
                        selected option/id = prize/category"
        stl:content="option/label" />


Widgets
=======

<stl:block name="selection_box">
  <option stl:repeat="option options"
          stl:attributes="value option/id;
                          selected option/is_selected"
          stl:content="option/label" />
</stl:block>


<stl:block content="widgets/selection_box(options=categories)" />
