With -f, we can read the XPath query in a file.
authorLucca Hirschi <lucca.hirschi@gmail.com>
Fri, 29 Jun 2012 08:28:27 +0000 (10:28 +0200)
committerLucca Hirschi <lucca.hirschi@gmail.com>
Fri, 29 Jun 2012 08:28:27 +0000 (10:28 +0200)
src/test.ml
src/xPath.ml
src/xPath.mli

index 770d4c5..465e409 100644 (file)
 (***********************************************************************)
 
 
+(** use: xml_file "XPath querie"
+    or : xml_file -f XPath_querie_file
+    only the first line of XPath_querie_file is read 
+*)
+
 module F = Formula
 (* to force ocaml build to add Formula to the dependency chain even if
    we don't use it yet*)
@@ -25,7 +30,13 @@ let doc =
 
 
 
-let query = XPath.parse Sys.argv.(2)
+let query = 
+  let arg2 = Sys.argv.(2) in
+  if arg2 = "-f"
+  then  let fq = open_in Sys.argv.(3) in
+       let q = XPath.parse_file fq in
+       close_in fq; q
+  else XPath.parse_string arg2
 
 open Format
 
index cb3393f..7ebc135 100644 (file)
@@ -366,6 +366,9 @@ END
 
 *)
 
-  let parse = Gram.parse_string query (Ulexer.Loc.mk "<string>")
+  let parse_string = Gram.parse_string query (Ulexer.Loc.mk "<string>")
+  let parse_file fd = parse_string (input_line fd)
+
 end
-let parse = Parser.parse
+let parse_string = Parser.parse_string
+let parse_file = Parser.parse_file
index 44935c3..afb4c39 100644 (file)
@@ -46,4 +46,5 @@ sig
 end
 
 
-val parse : string -> Ast.path
+val parse_string : string -> Ast.path
+val parse_file : in_channel -> Ast.path