<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def parse_xml_boundary(xml_region):
 """ Get the geographic bounds from an XML element Args: xml_region (Element):
 The <region> tag as XML Element Returns: GeographicBB: """

        try:
            bounds = {}
            for boundary in xml_region.getchildren():
                bounds[boundary.tag] = float(boundary.text)
            bbox = GeographicBB(min_lon=bounds["west"], max_lon=bounds["east"],
                                min_lat=bounds["south"], max_lat=bounds["north"])
            return bbox
        except (KeyError, ValueError):
            raise MapSourceException("region boundaries are invalid. ")