X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=src%2Ftable.ml;h=4e81e2156a089d46257aad3f9af7dfe0a6021b9d;hp=0dbad6a155fbfd1fc98e62e87c4a71623fb043fc;hb=bf8537a562ad461cdecc45978c36e5ad2b35766f;hpb=c31dce9d175ad3b9fca57706d6e1f45cd1669d6c diff --git a/src/table.ml b/src/table.ml index 0dbad6a..4e81e21 100644 --- a/src/table.ml +++ b/src/table.ml @@ -211,13 +211,16 @@ and eval_star tree ls lr = end done; let l = Hashtbl.fold (fun k _ acc -> k::acc) h [] in - Tas.sort_of_list tree l -(* List.sort (compare_node tree) l *) + l + (* + Tas.sort_of_list tree l + List.sort (compare_node tree) l*) let rec eval_axis tree ls a = let open Xpath.Ast in + let res= match a with Self -> ls @@ -232,8 +235,8 @@ let rec eval_axis tree ls a = | Descendant c -> let lfc = eval_move tree ls Firstchild in let ls2 = eval_star tree lfc [Firstchild;Nextsibling] in let ldes = - if not c then ls2 - else List.merge (compare_node tree) ls2 ls + if not c then ls2 + else List.merge (compare_node tree) ls2 ls in ldes @@ -255,7 +258,7 @@ let rec eval_axis tree ls a = | PrecedingSibling -> let ls2 = eval_star tree ls [Prevsibling] in let lps = eval_move tree ls2 Prevsibling in - lps + lps | Preceding -> let ls2 = eval_axis tree ls (Ancestor true) in let ls3 = eval_axis tree ls2 PrecedingSibling in @@ -266,8 +269,8 @@ let rec eval_axis tree ls a = let ls3 = eval_axis tree ls2 FollowingSibling in let lf = eval_axis tree ls3 (Descendant true) in lf - - + in + List.sort (compare_node tree) res