X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=xPath.ml;fp=xPath.ml;h=23c5fc6c3efe144ebeec762718c171f952f1b26a;hb=83aa6cf8a120ea6681402ce42ae56631fca1ddf4;hp=2c520a1259494e0218d3549603504f4f41b76079;hpb=4680fa5b41156d70f0fde69981f0d241184b19d9;p=SXSI%2Fxpathcomp.git diff --git a/xPath.ml b/xPath.ml index 2c520a1..23c5fc6 100644 --- a/xPath.ml +++ b/xPath.ml @@ -350,7 +350,9 @@ let rec compile_step ?(existential=false) conf q_src dir ctx_path step num = then `True (*`Right(fun t -> TagSet.exists (fun tag -> Tree.Binary.has_tagged_foll t tag) test) *) - else `True )>=> `Right ** q_src + else `True )>=> + if ex then ( Ata.atom_ `Left false q_src) *& `Right ** q_src + else `Right ** q_src in let _ = add_trans num conf.tr_aux t3 in @@ -544,7 +546,7 @@ let compile path = Ata.phi = phi; Ata.delta = Hashtbl.create 17; Ata.sigma = Ata.HTagSet.create 17; - } + },[] end