Macro Expansion Template Attribute Language
Die Macro Expansion Template Attribute Language; in der Regel verwendet im Zusammenhang mit der Template Attribute Language, aber nicht darauf beschränkt; siehe dort. Erlaubt die Definition von Makros zur Wiederverwendung von Code in anderen Templates.
Zur Generierung von XML-Dokumenten muß der XML-Namespace angegeben werden (xmlns:metal="http://xml.zope.org/namespaces/metal"
).
Die TAL entstand im Rahmen des Web-Anwendungsservers Zope.
Überblick
METAL ergänzt TAL durch die Möglichkeit, Code wiederzuverwenden. Hierzu können Makros definiert werden, die ihrerseits sog. Slots haben können; bei Verwendung eines Makros kann, über die Auswertung von TAL-Variablen hinaus, der Inhalt der Slots überschrieben werden.
Wenn XML-Dokumente generiert werden sollen, ist es wichtig, den XML-Namespace einzutragen (xmlns:tal="http://xml.zope.org/namespaces/metal"
).
Attribute
Es werden folgende Attribute erkannt, denen im Normalfall das Präfix „tal:
“ vorangestellt werden muß:
- define-macro
- erzeugt ein Makro
- define-slot
- erzeugt einen Slot innerhalb eines Makros
- use-macro
- verwendet ein Makro (das üblicherweise durch einen METAL-Pfadausdruck angegeben wird)
- fill-slot
- ersetzt bei Verwendung eines Makros den angegebenen Slot
- extend-macro
- seit Zope 3: erweitert ein Makro, vergleichbar einer Objekthierarchie, durch Redefinition vorhandener Slots
Verwendung
TAL/TALES/METAL werden von folgenden Projekten verwendet:
- Web-Anwendungsserver Zope
- Roundup (Bugtracker)