METAL Overview The *Macro Expansion Template Attribute Language* (METAL) standard is a facility for HTML/XML macro preprocessing. It can be used in conjunction with or independently of "TAL":tal.stx and "TALES":tales.stx. Macros provide a way to define a chunk of presentation in one template, and share it in others, so that changes to the macro are immediately reflected in all of the places that share it. Additionally, macros are always fully expanded, even in a template's source text, so that the template appears very similar to its final rendering. METAL Namespace The METAL namespace URI and recommended alias are currently defined as:: xmlns:metal="http://xml.zope.org/namespaces/metal" Just like the TAL namespace URI, this URI is not attached to a web page; it's just a unique identifier. Zope does not require an XML namespace declaration when creating templates with a content-type of 'text/html'. However, it does require an XML namespace declaration for all other content-types. METAL Statements METAL defines a number of statements: * "metal:define-macro":metal-define-macro.stx - Define a macro. * "metal:use-macro":metal-use-macro.stx - Use a macro. * "metal:define-slot":metal-define-slot.stx - Define a macro customization point. * "metal:fill-slot":metal-fill-slot.stx - Customize a macro. Although METAL does not define the syntax of expression non-terminals, leaving that up to the implementation, a canonical expression syntax for use in METAL arguments is described in "TALES Specification":tales.stx. See Also "TAL Overview":tal.stx "TALES Overview":tales.stx "metal:define-macro":metal-define-macro.stx "metal:use-macro":metal-use-macro.stx "metal:define-slot":metal-define-slot.stx "metal:fill-slot":metal-fill-slot.stx