+ let module U = UriManager in
+ let cicfilename = Http_getter.getxml' (U.cicuri_of_uri uri) in
+ match (U.bodyuri_of_uri uri) with
+ None ->
+ let obj = CicParser.obj_of_xml cicfilename None in
+ Unix.unlink cicfilename ;
+ obj
+ | Some bodyuri ->
+ let cicbodyfilename =
+ try
+ ignore (Http_getter.resolve' bodyuri) ;
+ (* The body exists ==> it is not an axiom *)
+ Some (Http_getter.getxml' bodyuri)
+ with Http_getter_types.Unresolvable_URI _ ->
+ (* The body does not exist ==> we consider it an axiom *)
+ None
+ in
+ let obj = CicParser.obj_of_xml cicfilename cicbodyfilename in
+ Unix.unlink cicfilename ;
+ (match cicbodyfilename with None -> () | Some f -> Unix.unlink f) ;
+ obj