Macro Expansion Template Attribute Language
Die Macro Expansion Template Attribute Language (METAL; engl., „Makrosprache für attributbasierte Schablonenverarbeitung“); 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.
Die METAL entstand im Rahmen des Web-Anwendungsservers Zope; siehe auch Zope Page Templates.
Ü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 „metal:
“ vorangestellt werden muss:
- define-macro
- erzeugt ein Makro
- define-slot
- erzeugt einen Slot innerhalb eines Makros
- use-macro
- verwendet ein Makro (das üblicherweise durch einen TALES-Pfadausdruck angegeben wird)
- fill-slot
- ersetzt bei Verwendung eines Makros den angegebenen Slot
- extend-macro
- seit METAL 1.1 (Zope 3): erweitert ein Makro, vergleichbar einer Objekthierarchie, durch Redefinition vorhandener Slots
Verwendung
TAL/TALES/METAL werden von folgenden Projekten verwendet: