sig
  type error =
      EUnterminatedComment
    | EUnterminatedString
    | EIdentExpected
    | ECloseExpected
    | ENodeExpected
    | EAttributeNameExpected
    | EAttributeValueExpected
    | EUnterminatedEntity
  type dtd_error =
      EInvalidDTDDecl
    | EInvalidDTDTag
    | EDTDItemExpected
    | EInvalidDTDElement
    | EInvalidDTDAttribute
  exception Error of Xml_lexer.error
  exception DTDError of Xml_lexer.dtd_error
  type dtd_decl = DTDFile of string | DTDData of Xml_light_types.dtd
  type token =
      Tag of string * (string * string) list * bool
    | PCData of string
    | Endtag of string
    | DocType of (string * Xml_lexer.dtd_decl)
    | Eof
  type pos = int * int * int * int
  val init : Stdlib.Lexing.lexbuf -> unit
  val close : Stdlib.Lexing.lexbuf -> unit
  val token : Stdlib.Lexing.lexbuf -> Xml_lexer.token
  val dtd : Stdlib.Lexing.lexbuf -> Xml_light_types.dtd
  val pos : Stdlib.Lexing.lexbuf -> Xml_lexer.pos
  val restore : Xml_lexer.pos -> unit
  val error_pos_of_pos : Xml_lexer.pos -> Xml_light_errors.error_pos
  val error_pos : Stdlib.Lexing.lexbuf -> Xml_light_errors.error_pos
end