465e40973c590d6862b94afe248b3d5cdec12f06
[tatoo.git] / src / test.ml
1 (***********************************************************************)
2 (*                                                                     *)
3 (*                               TAToo                                 *)
4 (*                                                                     *)
5 (*                     Kim Nguyen, LRI UMR8623                         *)
6 (*                   Université Paris-Sud & CNRS                       *)
7 (*                                                                     *)
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   *)
12 (*  ../LICENSE.                                                        *)
13 (*                                                                     *)
14 (***********************************************************************)
15
16
17 (** use: xml_file "XPath querie"
18     or : xml_file -f XPath_querie_file
19     only the first line of XPath_querie_file is read 
20 *)
21
22 module F = Formula
23 (* to force ocaml build to add Formula to the dependency chain even if
24    we don't use it yet*)
25
26 let doc =
27   let fd = open_in Sys.argv.(1) in
28   let d = Tree.load_xml_file fd in
29   close_in fd; d
30
31
32
33 let query = 
34   let arg2 = Sys.argv.(2) in
35   if arg2 = "-f"
36   then  let fq = open_in Sys.argv.(3) in
37         let q = XPath.parse_file fq in
38         close_in fq; q
39   else XPath.parse_string arg2
40
41 open Format
42
43 let () =
44   fprintf err_formatter "Query: %a\n%!" XPath.Ast.print query;
45   fprintf err_formatter "Document:\n%!";
46   Tree.print_xml stderr doc (Tree.root doc);
47   exit 0
48