'Load the lexical unit info from an xml element in a frame\'s xml file.'

def _handle_framelexunit_elt(self, elt):

    luinfo = AttrDict()
    luinfo[u'_type'] = u'lu'
    luinfo = self._load_xml_attributes(luinfo, elt)
    luinfo[u'definition'] = u''
    luinfo[u'definitionMarkup'] = u''
    luinfo[u'sentenceCount'] = PrettyDict()
    luinfo[u'lexemes'] = PrettyList()
    luinfo[u'semTypes'] = PrettyList()
    for sub in elt:
        if sub.tag.endswith(u'definition'):
            luinfo[u'definitionMarkup'] = sub.text
            luinfo[u'definition'] = self._strip_tags(sub.text)
        elif sub.tag.endswith(u'sentenceCount'):
            luinfo[u'sentenceCount'] = self._load_xml_attributes(PrettyDict(), sub)
        elif sub.tag.endswith(u'lexeme'):
            lexemeinfo = self._load_xml_attributes(PrettyDict(), sub)
            if (not isinstance(lexemeinfo.name, string_types)):
                lexemeinfo.name = str(lexemeinfo.name)
            luinfo[u'lexemes'].append(lexemeinfo)
        elif sub.tag.endswith(u'semType'):
            semtypeinfo = self._load_xml_attributes(PrettyDict(), sub)
            luinfo[u'semTypes'].append(self.semtype(semtypeinfo.ID))
    luinfo[u'lexemes'].sort(key=(lambda x: x.order))
    return luinfo
