When macro arguments are simple strings, they can be specified as <al-expand> attributes by appending arg to the argument name. So, to set an argument called title, you could add an titlearg attribute to the <al-expand> tag.
>>> import albatross >>> ctx = albatross.SimpleContext('.') >>> albatross.Template(ctx, '<magic>', ''' ... <al-macro name="pagelayout"> ... <title><al-usearg name="title"></title> ... </al-macro> ... ''').to_html(ctx) >>> albatross.Template(ctx, '<magic>', ''' ... <al-expand name="pagelayout" titlearg="Lumberjack" />''').to_html(ctx) >>> ctx.flush_content() <title>Lumberjack</title>
If the macro argument is longer or needs to contain markup, the <al-setarg> (5.5.5) tag should be used instead.