--- /dev/null
+(* $Id$
+ * ----------------------------------------------------------------------
+ *
+ *)
+
+
+open Pxp_document;;
+open Pxp_yacc;;
+open Pxp_types;;
+
+let error_happened = ref false;;
+
+let rec print_error e =
+ print_endline (string_of_exn e)
+;;
+
+class warner =
+ object
+ method warn w =
+ print_endline ("WARNING: " ^ w)
+ end
+;;
+
+let parse debug wf iso88591 filename =
+ try
+ let config =
+ { default_config with
+ warner = new warner;
+ debugging_mode = debug;
+ encoding = if iso88591 then `Enc_iso88591 else `Enc_utf8;
+ idref_pass = true;
+ }
+ in
+ let parse_fn =
+ if wf then parse_wfdocument_entity
+ else
+ let index = new hash_index in
+ parse_document_entity
+ ?transform_dtd:None
+ ~id_index:(index :> 'ext index)
+ in
+ let tree =
+ parse_fn
+ config
+ (from_file filename)
+ default_spec
+ in
+ print_endline "Parsed without error";
+ with
+ e ->
+ error_happened := true;
+ print_error e
+;;
+
+
+let main() =
+ let debug = ref false in
+ let wf = ref false in
+ let iso88591 = ref false in
+ let files = ref [] in
+ Arg.parse
+ [ "-d", Arg.Set debug, "turn debugging mode on";
+ "-wf", Arg.Set wf, "check only on well-formedness";
+ "-iso-8859-1", Arg.Set iso88591, "use ISO-8859-1 as internal encoding instead of UTF-8";
+ ]
+ (fun x -> files := x :: !files)
+ "
+usage: test_negative [options] file ...
+
+List of options:";
+ files := List.rev !files;
+ List.iter (parse !debug !wf !iso88591) !files;
+;;
+
+
+main();
+if !error_happened then exit(1);;
+
+(* ======================================================================
+ * History:
+ *
+ * $Log$
+ * Revision 1.1 2000/11/17 09:57:33 lpadovan
+ * Initial revision
+ *
+ * Revision 1.6 2000/07/14 14:57:12 gerd
+ * Updated: warner
+ *
+ * Revision 1.5 2000/07/14 14:20:11 gerd
+ * Updated because of PXP interface changes.
+ *
+ * Revision 1.4 2000/07/09 01:49:09 gerd
+ * Updated because of PXP interface changes.
+ *
+ * Revision 1.3 2000/06/04 20:31:21 gerd
+ * Updates because of renamed PXP modules.
+ *
+ * Revision 1.2 2000/05/28 17:23:22 gerd
+ * Updated.
+ *
+ * Revision 1.1 2000/05/01 15:58:50 gerd
+ * Initial revision.
+ *
+ *
+ *)