def METHOD_NAME(f, s):
    """
    Write an HTML reprentation of a symbol definition and documentation.
    """
    f.write('<p>\n')
    # Add anchor
    f.write('<a name="%s" />\n' % s['name'])
    # Bold name
    f.write('<b>%s:</b><br/>\n' % s['name'])
    # Description
    f.write('%s<br/>\n' % html_escape(s['description']))
    if 'type' not in s.keys():
        # Command parameters
        params = s.get('params')
        write_params(params, 'Arguments', f)
        # Command return value(s)
        ret_value = s.get('return')
        if ret_value:
            ret_type = filter_types(ret_value.get('type'))
            ret_desc = ret_value.get('description')
            with write_table('Returns', f):
                attr_table([''], ret_type, ret_desc, f)
    else:
        t_name = s['type']
        if 'object' in t_name:
            # Type members
            props = s.get('properties')
            write_params(props, 'Members', f)
        elif 'union' in t_name:
            # Union member types
            with write_table('Types', f):
                values = s.get('values')
                for value in values:
                    value = filter_types(value)
                    if (value in vdsmapi.TYPE_KEYS or
                            isinstance(value, six.string_types)):
                        name = value
                    else:
                        name = value.get('name')
                    attr_table(name, value, None, f)
        elif 'enum' in t_name:
            # Enum values
            with write_table('Values', f):
                values = s.get('values')
                for value in values:
                    attr_table(value, None, values.get(value), f)
        elif 'map' in t_name:
            # Mapping key and value
            with write_table('Key', f):
                key = filter_types(s.get('key-type'))
                attr_table(key, key, None, f)
            with write_table('Value', f):
                value = filter_types(s.get('value-type'))
                attr_table(value, value, None, f)
        elif 'alias' in t_name:
            # Aliased type
            with write_table('Type', f):
                name = s.get('name')
                source_type = filter_types(s.get('sourcetype'))
                desc = s.get('description')
                attr_table(name, source_type, desc, f)
    f.write('</p><br/>\n')