'Returns a dict representing the Tag element.'

def process_simple_tag(self, simple_tag_elem, tags_dict):

    name = lang = value = children = None
    binary = False
    for elem in self.process_one_level(simple_tag_elem):
        elem_id = elem.get_id()
        if (elem_id == MATROSKA_TAG_NAME_ID):
            name = elem.get_utf8().lower()
        elif (elem_id == MATROSKA_TAG_STRING_ID):
            value = elem.get_utf8()
        elif (elem_id == MATROSKA_TAG_BINARY_ID):
            value = elem.get_data()
            binary = True
        elif (elem_id == MATROSKA_TAG_LANGUAGE_ID):
            lang = elem.get_utf8()
        elif (elem_id == MATROSKA_SIMPLE_TAG_ID):
            if (children is None):
                children = core.Tags()
            self.process_simple_tag(elem, children)
    if children:
        children.value = value
        children.langcode = lang
        value = children
    else:
        if name.startswith(u'date_'):
            value = matroska_date_to_datetime(value)
        value = core.Tag(value, lang, binary)
    if (name in tags_dict):
        if (not isinstance(tags_dict[name], list)):
            tags_dict[name] = [tags_dict[name]]
        tags_dict[name].append(value)
    else:
        tags_dict[name] = value
