(***********************************************************************)
(*                                                                     *)
(*                                 GALAX                               *)
(*                            XML Query Engine                         *)
(*                                                                     *)
(*  Copyright 2000, Lucent Technologies.                               *)
(*  Distributed only by permission.                                    *)
(*                                                                     *)
(***********************************************************************)

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

(* Note:

     This module is used to 'store' document that have been opened by
     the query.

     For now, this is only keeping track of document access through
     one of the 'document()' functions, but this has the ambition to
     grow towards actual physical stores eventually.

   - Jerome
*) 

val add_document : Datatypes.xs_string -> Datamodel._Value -> unit

val lookup_document : Datatypes.xs_string -> Datamodel._Value option

(* Below is alpha code, used for projected documents.
   - Jerome and Amelie *)

(* There is just one global variable here for now - Jerome *)

val add_projections : Path_struct.rooted_path_sequence -> unit

val get_projections : unit -> Path_struct.rooted_path_sequence

val add_projected_document : Datatypes.xs_string -> Datamodel._Value -> unit

val lookup_projected_document : Datatypes.xs_string -> Datamodel._Value option

