(***********************************************************************)
(*                                                                     *)
(*                                 GALAX                               *)
(*                              XQuery Engine                          *)
(*                                                                     *)
(*  Copyright 2001-2003, Lucent Technologies.                          *)
(*  Distributed only by permission.                                    *)
(*                                                                     *)
(***********************************************************************)

(* $Id: path_struct.mli,v 1.1 2003/05/21 15:03:49 simeon Exp $ *)

(* Module: Path_struct
   Description:
     This module contains types for path structures.
*)

open Xquery_ast


(* A path is a sequence of steps (axis,nodetest pair). *) 

type path = (axis * cnode_test) list

(* Document id *)

type docid = string

(* Subtree flag *)

type subtree =
  | Subtree
  | NoSubtree

(* Path fragments *)

type path_fragment = path * subtree

type path_fragment_sequence = path_fragment list

(* Rooted paths *)

type rooted_path = docid * path_fragment

type rooted_path_sequence = rooted_path list

