val compteur : int ref val all_nodes : Naive_tree.t -> Naive_tree.node list (** [all_nodes t] returns all the nodes in the tree [t]. Returns an empty list if there are no nodes in the tree. *) val element_by_tag : Naive_tree.t -> QNameSet.t -> Tree.NodeKind.t -> Naive_tree.node list (** [element_by_tag t tag] returns all the nodes whose tag equal to [tag] in the tree [t]. *) val compile_single_path : Xpath.Ast.single_path -> Table.query_tree (** il y a un cycle si on met la definition de query_tree dans le fichier [Query_tree.ml] [compile_single_path spath] returns un query_tree built with [spath] *) val compile_xpath : Xpath.Ast.path -> Table.query_tree (** [compile_xpath path] returns un query_tree built with [xpath] *) (* val union_list : Naive_tree.t ->Naive_tree.node list -> Naive_tree.node list -> Naive_tree.node list (** union two lists without duplicating *) val inter_list : Naive_tree.t ->Naive_tree.node list -> Naive_tree.node list -> Naive_tree.node list (** make a list without duplicating by using the intersection of two lists *) val diff_list : Naive_tree.t ->Naive_tree.node list -> Naive_tree.node list -> Naive_tree.node list (** difference two lists without duplicating *) val eval_query_tree : Naive_tree.t -> Naive_tree.node list ->Table.query_tree -> Naive_tree.node list (** [eval_query_tree tree start q] returns the set of nodes that evaluate by the query_tree [q]. [start] the set of nodes departing. [q] query_tree *) *) val minimize_qtree : Table.query_tree -> Table.query_tree val eval_qtree : Naive_tree.t -> Naive_tree.node list ->Table.query_tree -> Naive_tree.node list