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

(* $Id: static_context.mli,v 1.1 2003/04/18 14:14:29 mff Exp $ *)

(* Static context *)
type static_context

(*
  Normalization context +  
  Variables and their types
*)

val build_static_context : Norm_context.norm_context -> (Xquery_ast.vname * Xquery_ast.model) list -> static_context
val copy_static_context : static_context -> static_context

(* Lookup a variable's type in static context *)
val var_from_static_context : Finfo.finfo -> static_context -> Xquery_ast.vname -> Xquery_ast.model

(* Add a variable and its type to static context *)
val add_var_to_static_context : static_context -> (Xquery_ast.vname * Xquery_ast.model) -> static_context

(* Accessors : Extract normalization context *)
val norm_context_from_stat_context : static_context -> Norm_context.norm_context
val vars_from_static_context : static_context -> (Xquery_ast.vname * Xquery_ast.model) list
