def parse_question_xml(root):
question_dict = dict()<EOL>question_prompt_el = root.find('<STR_LIT:text>')<EOL>if question_prompt_el is not None:<EOL><INDENT>question_dict['<STR_LIT:text>'] = _safe_get_text(question_prompt_el)<EOL><DEDENT>else:<EOL><INDENT>raise ValidationError(_('<STR_LIT>'))<EOL><DEDENT>question_dict.update(parse_image_xml(root))<EOL>return question_dict<EOL>
Parse <question> element in the UBCPI XBlock's content XML.

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

Returns:
    dict, a deserialized representation of a question. E.g.
    {
        'text': 'What is the answer to life, the universe and everything?',
        'image_url': '',
        'image_position': 'below',
        'image_show_fields': 0,
        'image_alt': 'description'
    }

Raises:
    ValidationError: The XML definition is invalid.