argument ::= expression
metal:use-macro statement replaces the statement element
with a macro. The statement expression describes a macro
In Zope the expression will generally be a path expression referring to a macro defined in another template. See "metal:define-macro" for more information.
The effect of expanding a macro is to graft a subtree from another document (or from elsewhere in the current document) in place of the statement element, replacing the existing sub-tree. Parts of the original subtree may remain, grafted onto the new subtree, if the macro has slots. See metal:define-slot for more information. If the macro body uses any macros, they are expanded first.
When a macro is expanded, its
metal:define-macro attribute is
replaced with the
metal:use-macro attribute from the statement
element. This makes the root of the expanded macro a valid
use-macro statement element.
Basic macro usage:
<p metal:use-macro="container/other.html/macros/header"> header macro from defined in other.html template </p>
This example refers to the
header macro defined in the
other.html template which is in the same folder as the current
template. When the macro is expanded, the
p element and its
contents will be replaced by the macro. Note: there will still be
metal:use-macro attribute on the replacement element.