def fix_missing_lang_tags(marc_xml, dom):
def get_lang_tag(lang):<EOL><INDENT>lang_str = '<STR_LIT>'<EOL>lang_str += '<STR_LIT>'<EOL>lang_str += lang<EOL>lang_str += '<STR_LIT>'<EOL>lang_str += '<STR_LIT>'<EOL>lang_dom = dhtmlparser.parseString(lang_str)<EOL>return first(lang_dom.find("<STR_LIT>"))<EOL><DEDENT>for lang in reversed(marc_xml["<STR_LIT>"]):<EOL><INDENT>lang_tag = dom.find(<EOL>"<STR_LIT>",<EOL>fn=lambda x: x.getContent().strip().lower() == lang.lower()<EOL>)<EOL>if not lang_tag:<EOL><INDENT>insert_tag(<EOL>get_lang_tag(lang),<EOL>dom.find("<STR_LIT>"),<EOL>get_mods_tag(dom)<EOL>)<EOL><DEDENT><DEDENT>
If the lang tags are missing, add them to the MODS. Lang tags are parsed
from `marc_xml`.