Plasma GitLab Archive
Projects Blog Knowledge

(* $Id: print.ml,v 1.1 2000/08/22 21:57:43 gerd Exp $
 * ----------------------------------------------------------------------
 *
 *)

(* Read a record-list structure and print it *)
open Pxp_types;;
open Pxp_document;;
open Pxp_yacc;;

let print tree =
  iter_tree
    ~pre:
      (fun n ->
	 match n # node_type with
	     T_element "last-name" ->
	       print_endline ("Last name: " ^ n # data)
	   | T_element "first-name" ->
	       print_endline ("First name: " ^ n # data)
	   | T_element "phone" ->
	       print_endline ("Telephone number: " ^ n # data)
	   | _ ->
	       ())
    ~post:
      (fun n ->
	 match n # node_type with
	     T_element "record" -> 
	       print_newline()
	   | _ ->
	       ())
    tree
;;

let main() =
  try
    let dtd = parse_dtd_entity default_config (from_file "record.dtd") in
    let tree = 
      parse_content_entity default_config (from_channel stdin) dtd default_spec in
    print tree
  with
      x ->
	prerr_endline(string_of_exn x);
	exit 1
;;


main();;

(* ======================================================================
 * History:
 * 
 * $Log: print.ml,v $
 * Revision 1.1  2000/08/22 21:57:43  gerd
 * 	Initial revision.
 *
 * 
 *)

This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml