'Parse a visualization parameter from the given `xml_tree`.'

def parse(self, xml_tree):

    returned = {}
    param_key = xml_tree.text
    if (not param_key):
        raise ParsingException('Param    entry    requires    text')
    returned['type'] = self.parse_param_type(xml_tree)
    required = (xml_tree.get('required') == 'true')
    returned['required'] = required
    if (not required):
        default = None
        if ('default' in xml_tree.attrib):
            default = xml_tree.get('default')
        returned['default'] = default
    constrain_to = xml_tree.get('constrain_to')
    if constrain_to:
        returned['constrain_to'] = constrain_to.split(',')
    returned['csv'] = (xml_tree.get('csv') == 'true')
    var_name_in_template = xml_tree.get('var_name_in_template')
    if var_name_in_template:
        returned['var_name_in_template'] = var_name_in_template
    return returned
