Die Macro Expansion Template Attribute Language (METAL, 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 METAL 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 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: Zope (Webanwendungsserver) Roundup (Bugtracker)
Siehe auch i18n TAL Template-Engine
Weblinks METAL-Spezifikation v1.1 METAL-Übersicht im Zope-Book
Kategorie:Templatesprache
en:Template Attribute Language#METAL