--- /dev/null
+(* $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)),
+ " <file> 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.
+ *
+ *)