def parse_point_2d_from_xml(xml_string) -> Union[Tuple[float, float], None]:
    """Parse an (x, y) point from XML formatted like this: <point>x, y</point>"""
    if not isinstance(xml_string, str):
        return None

    point_pattern = re.compile(r"<point>(.*?)<\/point>")
    matches = point_pattern.findall(xml_string)
    if len(matches) >= 2:
        return None

    if matches:
        coords = matches[0].split(",")
        if len(coords) != 2:
            return None
        try:
            return tuple(float(coord.strip()) for coord in coords)
        except ValueError:
            return None
Parse an (x, y) point from XML formatted like this: <point>x, y</point>
vlmeval/dataset/utils/megabench/scoring/common/conversions.py