'Compile the given element.
:return: list of AST nodes'

def _compile_node(self, el, options):

    path = options['root'].getpath(el)
    if (options['last_path_node'] != path):
        options['last_path_node'] = path
        body = [ast.Assign(targets=[ast.Subscript(value=ast.Name(id='log', ctx=ast.Load()), slice=ast.Index(ast.Str('last_path_node')), ctx=ast.Store())], value=ast.Str(path))]
    else:
        body = []
    if el.get('groups'):
        el.set('t-groups', el.attrib.pop('groups'))
    if self._is_static_node(el):
        return self._compile_static_node(el, options)
    options['iter_directives'] = iter((self._directives_eval_order() + [None]))
    el.set('t-tag', el.tag)
    if (not (set(['t-esc', 't-raw', 't-field']) & set(el.attrib))):
        el.set('t-content', 'True')
    return (body + self._compile_directives(el, options))
