| Diff -> diff_list tree ls1 ls2
end
in
- let res = Tas.sort_of_list tree res in
-(* let res = List.sort (Table.compare_node tree) res in*)
+(* let res = Tas.sort_of_list tree res in
+ let res = List.sort (Table.compare_node tree) res in*)
QTreeHash.add table_qtree q res;
compteur := !compteur + (List.length res);
res
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
| 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
| 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
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