1 (***********************************************************************)
5 (* Kim Nguyen, LRI UMR8623 *)
6 (* Université Paris-Sud & CNRS *)
8 (* Copyright 2010-2012 Université Paris-Sud and Centre National de la *)
9 (* Recherche Scientifique. All rights reserved. This file is *)
10 (* distributed under the terms of the GNU Lesser General Public *)
11 (* License, with the special exception on linking described in file *)
14 (***********************************************************************)
17 Time-stamp: <Last modified on 2013-04-04 18:45:43 CEST by Kim Nguyen>
21 let fd = open_in Sys.argv.(1) in
22 let d = Naive_tree.load_xml_file fd in
27 let arg2 = Sys.argv.(2) in
28 Xpath.Parser.parse (Ulexing.from_latin1_string arg2)
31 Xpath.Compile.path query
36 fprintf err_formatter "Query: %a\n%!" Xpath.Ast.print_path query;
37 fprintf err_formatter "Automata: %a\n%!" Ata.print auto;
38 fprintf err_formatter "Evaluating automaton:\n%!";
39 let module Naive = Eval.Make(Naive_tree) in
40 let t1 = Unix.gettimeofday() in
41 let results = Naive.eval auto doc (Naive_tree.root doc) in
42 let teval = (Unix.gettimeofday () -. t1) *. 1000. in
43 let t1 = Unix.gettimeofday () in
44 output_string stdout "<xml_result>\n";
46 Naive_tree.print_xml stdout doc n;
47 output_char stdout '\n'
49 output_string stdout "</xml_result>\n";
50 let tprint = (Unix.gettimeofday () -. t1) *. 1000. in
52 fprintf err_formatter "evaluation time: %fms\nserialization time: %fms\n%!" teval tprint