-(* $Id$
- * ----------------------------------------------------------------------
- *
- *)
-
-
-open Pxp_document;;
-open Pxp_yacc;;
-open Pxp_types;;
-
-let error_happened = ref false;;
-
-let 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
- (* Parse the document: *)
- 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 doc =
- parse_fn
- { default_config with
- debugging_mode = debug;
- encoding = if iso88591 then `Enc_iso88591 else `Enc_utf8;
- idref_pass = true;
- warner = new warner
- }
- (from_file filename)
- default_spec
- in
- ()
- with
- e ->
- (* Print error; remember that there was an error *)
- 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: pxpvalidate [options] file ...
-
-- checks the validity of XML documents. See below for list of options.
-
-<title>PXP - The XML parser for Objective Caml</title>
-
-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:31 lpadovan
- * Initial revision
- *
- * Revision 1.10 2000/08/30 15:58:41 gerd
- * Updated.
- *
- * Revision 1.9 2000/07/14 14:57:30 gerd
- * Updated: warner
- *
- * Revision 1.8 2000/07/14 14:13:15 gerd
- * Cosmetic changes.
- *
- * Revision 1.7 2000/07/14 14:11:06 gerd
- * Updated because of changes of the PXP API.
- *
- * Revision 1.6 2000/07/08 21:53:00 gerd
- * Updated because of PXP interface changes.
- *
- * Revision 1.5 2000/06/04 20:21:55 gerd
- * Updated to new module names.
- *
- * Revision 1.4 2000/05/01 16:44:57 gerd
- * Added check for ID uniqueness.
- * Using new error formatter.
- *
- * Revision 1.3 1999/11/09 22:27:30 gerd
- * The programs returns now an exit code of 1 if one of the
- * XML files produces an error.
- *
- * Revision 1.2 1999/09/01 23:09:56 gerd
- * Added the option -wf that switches to well-formedness checking
- * instead of validation.
- *
- * Revision 1.1 1999/08/14 22:20:53 gerd
- * Initial revision.
- *
- *
- *)