X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Fpxp%2Fpxp%2Frtests%2Fwrite%2Ftest_write.ml;fp=helm%2FDEVEL%2Fpxp%2Fpxp%2Frtests%2Fwrite%2Ftest_write.ml;h=48defd2a17ec1339fef0191cfa94493a740f83b6;hb=c03d2c1fdab8d228cb88aaba5ca0f556318bebc5;hp=0000000000000000000000000000000000000000;hpb=758057e85325f94cd88583feb1fdf6b038e35055;p=helm.git diff --git a/helm/DEVEL/pxp/pxp/rtests/write/test_write.ml b/helm/DEVEL/pxp/pxp/rtests/write/test_write.ml new file mode 100644 index 000000000..48defd2a1 --- /dev/null +++ b/helm/DEVEL/pxp/pxp/rtests/write/test_write.ml @@ -0,0 +1,94 @@ +(* $Id$ + * ---------------------------------------------------------------------- + * + *) + + +open Pxp_document;; +open Pxp_yacc;; +open Pxp_types;; + +let error_happened = ref false;; + +let rec prerr_error e = + prerr_endline (string_of_exn e) +;; + +class warner = + object + method warn w = + prerr_endline ("WARNING: " ^ w) + end +;; + +let parse_and_write in_filename = + let spec = + let e = new element_impl default_extension in + make_spec_from_mapping + ~super_root_exemplar: e + ~default_pinstr_exemplar: e + ~data_exemplar: (new data_impl default_extension) + ~default_element_exemplar: e + ~element_mapping: (Hashtbl.create 1) + () + in + let config = + { default_config with + warner = new warner; + enable_pinstr_nodes = true; + enable_super_root_node = true; + encoding = `Enc_utf8; + } + in + try + let tree = + parse_document_entity + config + (from_file in_filename) + spec + in + + tree # write (Out_channel stdout) `Enc_utf8; + with + e -> + error_happened := true; + prerr_error e +;; + + +let main() = + let in_file = ref "" in + Arg.parse + [ "-in", (Arg.String (fun s -> in_file := s)), + " Set the XML file to read"; + ] + (fun x -> raise (Arg.Bad "Unexpected argument")) + " +usage: test_write [ options ] + +List of options:"; + if !in_file = "" then begin + prerr_endline "No input file specified."; + exit 1 + end; + parse_and_write !in_file +;; + + +main(); +if !error_happened then exit(1);; + +(* ====================================================================== + * History: + * + * $Log$ + * Revision 1.1 2000/11/17 09:57:35 lpadovan + * Initial revision + * + * Revision 1.2 2000/08/16 23:44:21 gerd + * Updates because of changes of the PXP API. + * + * Revision 1.1 2000/07/16 17:50:39 gerd + * Initial revision. + * + *)