let read file =
  try
    let ic = open_in file in
    ignore(input_line ic);
    let xml = Xml.parse_in ic in
    close_in ic;
    schema_of_xml xml
  with
    Xml.Error (msg,loc) ->
      failwith (Printf.sprintf "file %s, line %d:\n%s" file
                  (Xml.line loc) (Xml.error_msg msg))