define: Define variables Syntax 'tal:define' syntax:: argument ::= define_scope [';' define_scope]* define_scope ::= (['local'] | 'global') define_var define_var ::= variable_name expression variable_name ::= Name *Note: If you want to include a semi-colon (;) in an 'expression', it must be escaped by doubling it (;;).* Description The 'tal:define' statement defines variables. You can define two different kinds of TAL variables: local and global. When you define a local variable in a statement element, you can only use that variable in that element and the elements it contains. If you redefine a local variable in a contained element, the new definition hides the outer element's definition within the inner element. When you define a global variables, you can use it in any element processed after the defining element. If you redefine a global variable, you replace its definition for the rest of the template. *Note: local variables are the default* If the expression associated with a variable evaluates to *nothing*, then that variable has the value *nothing*, and may be used as such in further expressions. Likewise, if the expression evaluates to *default*, then the variable has the value *default*, and may be used as such in further expressions. Examples Defining a global variable:: tal:define="global company_name string:Zope Corp, Inc." Defining two variables, where the second depends on the first:: tal:define="mytitle template/title; tlen python:len(mytitle)"