let read_xml_file file f =
let error s = failwith (Printf.sprintf "File %s: %s" file s) in
try
let xml = Xml.parse_file file in
f xml
with
Xml.Error e ->
error (Xml.error e)
| Xml.File_not_found s ->
error ("File "^s^" not found")