;;
(* given the filename of an xml file of a cic object it returns its internal *)
-(* representation. process_annotations is true if the annotations do really *)
-(* matter *)
-let term_of_xml filename uri process_annotations =
+(* representation. *)
+let annobj_of_xml filename uri =
let module Y = Pxp_yacc in
try
let d =
(* sets the current base uri to resolve relative URIs *)
CicParser3.current_sp := tokens_of_uri uri ;
CicParser3.current_uri := uri ;
- CicParser3.process_annotations := process_annotations ;
- CicParser3.ids_to_targets :=
- if process_annotations then Some (Hashtbl.create 500) else None ;
let config = {Y.default_config with Y.warner = new warner} in
Y.parse_document_entity config
(*PXP (Y.ExtID (Pxp_types.System filename,
*) (PxpUriResolver.from_file filename)
CicParser3.domspec
in
- let ids_to_targets = !CicParser3.ids_to_targets in
- let res = (CicParser2.get_term d#root, ids_to_targets) in
- CicParser3.ids_to_targets := None ; (* let's help the GC *)
- res
+ CicParser2.get_term d#root
with
e ->
print_endline ("Filename: " ^ filename ^ "\nException: ") ;
print_endline (Pxp_types.string_of_exn e) ;
raise e
;;
+
+let obj_of_xml filename uri =
+ Deannotate.deannotate_obj (annobj_of_xml filename uri)
+;;