Define
Define
Syntax:
argument ::= define_scope[’;’ define_scope]*
define_scope ::= ([‘local’] | ‘global’)
define_var
define_var ::= variable_name expression
variable_name ::= Name
Merke: Soll in eine Anweisung ein Semikolon eingefügt werden, muß es durch Verdoppelung escaped werden (’;;’).
Es können zwei Arten von TAL-Variablen definiert werden: lokale und globale. Wird in einer Anweisung eine lokale Variable definiert, kann sie nur innerhalb dieses Elements und den darin enthaltenen Elementen verwendet werden. Wird eine Variable in einem inneren Element neu definiert, so wird die alte Variable innerhalb des Geltungsbereichs der neuen Variable durch diese überdeckt. Eine globale Variable kann nach dem Ort ihrer Definition in jedem Element verwendet werden. Wird eine globale Variable irgendwo neu definiert, wird sie im gesamten Template ersetzt.
Ergibt die Auswertung eines Ausdrucks ‘nothing’, dann hat die
Variable den Wert ‘nothing’, und kann so in weiteren
Ausdrücken verwendet werden. Beendet die Auswertung eines
Ausdrucks die Ausführung der Anweisung, ist die entsprechende
Variable nicht (neu) definiert. Falls die Variable eine andere
überdeckt bzw. überdecken sollte, bleibt der Wert trotzdem
unverändert, falls nicht, wird sie eben gar nicht erzeugt. Jede
Variablendefinition ist unabhängig, also können
Variablendefinitionen in Anweisungen stattfinden, in denen andere
Variablen aufgelöst werden.
Beispiele:
tal:define=“mytitle template/title; tlen
python:len(mytitle)”
tal:define=”global company_name string:Digital
Creations, Inc.”






