-exception Warnings;;
-
-class warner =
- object
- method warn w =
- prerr_endline ("WARNING: " ^ w) ;
- (raise Warnings : unit)
- end
-;;
-
-exception EmptyUri of string;;
-
-(* given the filename of an xml file of a cic object it returns its internal *)
-(* representation. *)
-let annobj_of_xml filename filenamebody =
- let module Y = Pxp_yacc in
- try
- let root, rootbody =
- let config = {Y.default_config with Y.warner = new warner} in
- let doc =
- Y.parse_document_entity config
- (Y.from_file ~alt:[PxpUrlResolver.url_resolver] filename)
- CicParser3.domspec in
-(* CSC: Until PXP bug is resolved *)
-PxpUrlResolver.url_resolver#close_all ;
- let docroot = doc#root in
- match filenamebody with
- None -> docroot,None
- | Some filename ->
- let docbody =
- Y.parse_document_entity config
- (Y.from_file ~alt:[PxpUrlResolver.url_resolver] filename)
- CicParser3.domspec
- in
-(* CSC: Until PXP bug is resolved *)
-PxpUrlResolver.url_resolver#close_all ;
- docroot,Some docbody#root
- in
- CicParser2.get_term root rootbody
- with
- e ->
- prerr_endline ("Filenames: " ^ filename ^
- (match filenamebody with None -> "" | Some s -> ", " ^ s)) ;
- prerr_endline ("Exception: " ^ Pxp_types.string_of_exn e) ;
- raise e
-;;
-
-let obj_of_xml filename filenamebody =
- Deannotate.deannotate_obj (annobj_of_xml filename filenamebody)
-;;