def parse_seeds_xml(root):
seeds = []<EOL>for seed_el in root.findall('<STR_LIT>'):<EOL><INDENT>seed_dict = dict()<EOL>seed_dict['<STR_LIT>'] = _safe_get_text(seed_el)<EOL>if '<STR_LIT>' in seed_el.attrib:<EOL><INDENT>seed_dict['<STR_LIT>'] = int(seed_el.attrib['<STR_LIT>']) - <NUM_LIT:1><EOL><DEDENT>else:<EOL><INDENT>raise ValidationError(_('<STR_LIT>'))<EOL><DEDENT>seeds.append(seed_dict)<EOL><DEDENT>return seeds<EOL>
Parse <seeds> element in the UBCPI XBlock's content XML.

Args:
    root (lxml.etree.Element): The root of the <seeds> node in the tree.

Returns:
    a list of deserialized representation of seeds. E.g.
    [{
        'answer': 1,  # option index starting from one
        'rationale': 'This is a seeded answer',
    },
    {....
    }]

Raises:
    ValidationError: The XML definition is invalid.