--- /dev/null
+(* $Id$
+ * ----------------------------------------------------------------------
+ *
+ *)
+
+open Pxp_types
+open Pxp_document
+open Pxp_yacc
+
+
+let rec print_error e =
+ prerr_endline(string_of_exn e)
+;;
+
+
+let run f a =
+ try f a with
+ e -> print_error e
+;;
+
+
+let convert_to_html filename =
+ (* read in style definition *)
+ let document =
+ parse_document_entity
+ { default_config with encoding = `Enc_iso88591 }
+ (from_file filename)
+ To_html.tag_map
+ in
+ let root = document # root in
+ let store = new To_html.store in
+ root # extension # to_html store stdout
+;;
+
+
+let convert_to_text filename =
+ (* read in style definition *)
+ let document =
+ parse_document_entity
+ default_config
+ (from_file filename)
+ To_text.tag_map
+ in
+ let root = document # root in
+ let store = new To_text.store in
+ let box = new To_text.box 79 79 in
+ root # extension # to_box store box;
+ box # output 0 0 stdout
+;;
+
+
+let main() =
+ let want_html = ref false in
+ let want_text = ref false in
+ let filename = ref None in
+ Arg.parse
+ [ "-html", Arg.Set want_html,
+ " convert file to html";
+ "-text", Arg.Set want_text,
+ " convert file to text";
+ ]
+ (fun s ->
+ match !filename with
+ None -> filename := Some s
+ | Some _ ->
+ raise (Arg.Bad "Multiple arguments not allowed."))
+ "usage: readme [ -text | -html ] input.xml >output";
+ let fn =
+ match !filename with
+ None ->
+ prerr_endline "readme: no input";
+ exit 1
+ | Some s -> s
+ in
+ match !want_html, !want_text with
+ true, false ->
+ run convert_to_html fn
+ | false, true ->
+ run convert_to_text fn
+ | _ ->
+ prerr_endline ("readme: Please select exactly one output format")
+;;
+
+main();;
+
+(* ======================================================================
+ * History:
+ *
+ * $Log$
+ * Revision 1.1 2000/11/17 09:57:31 lpadovan
+ * Initial revision
+ *
+ * Revision 1.5 2000/07/08 17:58:17 gerd
+ * Updated because of PXP API changes.
+ *
+ * Revision 1.4 2000/06/04 20:25:38 gerd
+ * Updates because of renamed PXP modules.
+ *
+ * Revision 1.3 2000/05/01 16:46:40 gerd
+ * Using the new error formatter.
+ *
+ * Revision 1.2 1999/08/23 16:54:19 gerd
+ * Minor changes.
+ *
+ * Revision 1.1 1999/08/22 22:29:32 gerd
+ * Initial revision.
+ *
+ *)