Macro Expansion Template Attribute Language

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

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.

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").

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

TAL/TALES/METAL werden von folgenden Projekten verwendet: