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

(* $Id: simple_lexer.mli,v 1.4 2002/09/03 19:52:09 simeon Exp $ *)

open Decimal
open Conf

type simple_lexers =
    { simple_encoding      : encoding_kind;
      simple_decimal       : Lexing.lexbuf -> _decimal;
      simple_integer       : Lexing.lexbuf -> _integer;
      simple_int           : Lexing.lexbuf -> _int;
      simple_float   	   : Lexing.lexbuf -> float;
      simple_double  	   : Lexing.lexbuf -> float;
      simple_boolean 	   : Lexing.lexbuf -> bool;
      simple_qname   	   : Lexing.lexbuf -> string option * string }

val register_simple_lexer : simple_lexers -> unit

(* Auxiliary lexer used for XML Schema simple type values *)

val parse_decimal : Lexing.lexbuf -> _decimal
val parse_integer : Lexing.lexbuf -> _integer
val parse_int     : Lexing.lexbuf -> _int
val parse_float   : Lexing.lexbuf -> float
val parse_double  : Lexing.lexbuf -> float
val parse_boolean : Lexing.lexbuf -> bool
val parse_qname   : Lexing.lexbuf -> string option * string

