'''NLP common functions.@author: Anze Vavpetic, 2012'''importxml.etree.ElementTreeasxmldefparse_def_sentences(sentsXML):""" Parses the candidate definition sentences from the input XML string. """dom=xml.fromstring(sentsXML)sents=dom.findall('S')# Lists all the tagged sentencessentences=[]forsentinsents:sentences.append({'id':sent.attrib['sid_sp'],'aid':sent.attrib['aid_sp'],'defvalue':sent.attrib['defvalue'],'txt':sent.text.strip()})sentences=sorted(sentences,key=lambdax:x['id'])returnsentencesdefsentences_to_xml(sentences):root=xml.Element('definitions')forsentinsentences:el=xml.Element('S',attrib={'sid_sp':sent['id'],'aid_sp':sent['aid'],'defvalue':sent['defvalue']})el.text=sent['txt']root.append(el)returnxml.tostring(root,"UTF-8")if__name__=='__main__':# Run testpats=open(r'D:\programiranje\Glossary\patterns2.txt').read()sents=parse_def_sentences(pats)xml=sentences_to_xml(sents)printxml