def parse_point(point, filepath):
    """Parses the x, y, and timestamp attributes from an XML Point element."""
    # verify that point contains all required attributes
    if not point.attrib.has_key("x"):
        raise ValueError("Point element does not have \"x\" attribute.\n" +
                         "Offending XML file: {0}".format(filepath))
    if not point.attrib.has_key("y"):
        raise ValueError("Point element does not have \"y\" attribute.\n" +
                         "Offending XML file: {0}".format(filepath))
    if not point.attrib.has_key("time"):
        raise ValueError("Point element does not have \"time\" attribute.\n" +
                         "Offending XML file: {0}".format(filepath))
    x = int(point.attrib["x"])
    y = int(point.attrib["y"])
    timestamp = float(point.attrib["time"])
    return x, y, timestamp