Verifier si seulement Descendant et Ancestor sont influence sur l'ordre de resultats...
[tatoo.git] / src / table.ml
index 0dbad6a..4e81e21 100644 (file)
@@ -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