The <al-setarg> tag is used pass content to a macro. All content enclosed by the tag will be passed as an argument to the macro named by the parent <al-expand> (5.5.4) tag.
The <al-setarg> tag is normally used to pass content to macros that define named arguments, but can also be used to enclose the unnamed argument.
>>> import albatross >>> ctx = albatross.SimpleContext('.') >>> albatross.Template(ctx, '<magic>', ''' ... <al-macro name="title"> ... <title><al-usearg></title> ... </al-macro> ... ''').to_html(ctx) >>> albatross.Template(ctx, '<magic>', ''' ... <al-expand name="title"> ... <al-setarg>Lumberjack</al-setarg> ... </al-expand>''').to_html(ctx) >>> ctx.flush_content() <title>Lumberjack</title> >>> albatross.Template(ctx, '<magic>', ''' ... <al-expand name="title"> ... Lumberjack ... </al-expand>''').to_html(ctx) >>> ctx.flush_content() <title>Lumberjack </title>