(***********************************************************************) (* *) (* TAToo *) (* *) (* Kim Nguyen, LRI UMR8623 *) (* Université Paris-Sud & CNRS *) (* *) (* Copyright 2010-2013 Université Paris-Sud and Centre National de la *) (* Recherche Scientifique. All rights reserved. This file is *) (* distributed under the terms of the GNU Lesser General Public *) (* License, with the special exception on linking described in file *) (* ../LICENSE. *) (* *) (***********************************************************************) type path = single_path list (* the step are given in reverse with the last step of the query being the first of the step list *) and single_path = Absolute of step list | Relative of step list and step = axis * test * expr list and axis = Self | Attribute | Child | Descendant of bool | FollowingSibling | Parent | Ancestor of bool | PrecedingSibling | Preceding | Following and test = QNameSet.t * Tree.NodeKind.t and binop = Eq | Neq | Lt | Gt | Lte | Gte | Or | And | Add | Sub | Mult | Div | Mod and unop = Neg and expr = | Number of [ `Int of int | `Float of float ] | String of string | Fun_call of QName.t * expr list | Path of path | Binop of expr * binop * expr | Unop of unop * expr type t = path val text : QNameSet.t val node : QNameSet.t val star : QNameSet.t val print_binop : Format.formatter -> binop -> unit val print_unop : Format.formatter -> unop -> unit val print_path : Format.formatter -> path -> unit val print_single_path : Format.formatter -> single_path -> unit val print_step : Format.formatter -> step -> unit val print_axis : Format.formatter -> axis -> unit val print_test : Format.formatter -> test -> unit val print_expr : Format.formatter -> expr -> unit val invert_axis : axis -> axis