When determining the generated name attribute the tag looks for a number of attributes. Any supplied name attribute will be ignored if either the alias (5.2.5.1) or nameexpr (5.2.5.4) attributes are present.
If the value identified by the generated name attribute does not exist in the execution context then the enclosed content will be supplied as the initial tag value.
For example:
>>> import albatross >>> ctx = albatross.SimpleContext('.') >>> text = ''' ... <al-textarea name="msg"> ... Type in some text ... </al-textarea whitespace> ... ''' >>> albatross.Template(ctx, '<magic>', text).to_html(ctx) >>> ctx.flush_content() <textarea name="msg">Type in some text </textarea> >>> ctx.locals.msg = 'This came from the program' >>> albatross.Template(ctx, '<magic>', text).to_html(ctx) >>> ctx.flush_content() <textarea name="msg">This came from the program</textarea>
Before the tag value is written it is escaped to make all &, <, >, and " characters safe.