Die Macro Expansion Template Attribute Language (METAL, englisch für Makrosprache für attributbasierte Schablonenverarbeitung) erlaubt die Definition von Makros zur Wiederverwendung von Code in anderen Vorlagen. In der Regel wird sie im Zusammenhang mit der Template Attribute Language verwendet, ist aber nicht darauf beschränkt; siehe dort.
Die METAL entstand im Rahmen des Web-Anwendungsservers Zope; siehe auch Zope Page Templates.
Überblick
BearbeitenMETAL ergänzt Template Attribute Language (TAL) durch die Möglichkeit, Code wiederzuverwenden. Hierzu können Makros definiert werden, die ihrerseits sogenannte 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-Namensraum einzutragen (xmlns:tal="http://xml.zope.org/namespaces/metal"
).
Attribute
BearbeitenEs 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