sig
  type xml =
      Element of (string * (string * string) list * Xml.xml list)
    | PCData of string
  val parse_file : string -> Xml.xml
  val parse_in : Pervasives.in_channel -> Xml.xml
  val parse_string : string -> Xml.xml
  type error_pos
  type error_msg =
      UnterminatedComment
    | UnterminatedString
    | UnterminatedEntity
    | IdentExpected
    | CloseExpected
    | NodeExpected
    | AttributeNameExpected
    | AttributeValueExpected
    | EndOfTagExpected of string
    | EOFExpected
  type error = Xml.error_msg * Xml.error_pos
  exception Error of Xml.error
  exception File_not_found of string
  val error : Xml.error -> string
  val error_msg : Xml.error_msg -> string
  val line : Xml.error_pos -> int
  val range : Xml.error_pos -> int * int
  val abs_range : Xml.error_pos -> int * int
  exception Not_element of Xml.xml
  exception Not_pcdata of Xml.xml
  exception No_attribute of string
  val tag : Xml.xml -> string
  val pcdata : Xml.xml -> string
  val attribs : Xml.xml -> (string * string) list
  val attrib : Xml.xml -> string -> string
  val children : Xml.xml -> Xml.xml list
  val iter : (Xml.xml -> unit) -> Xml.xml -> unit
  val map : (Xml.xml -> 'a) -> Xml.xml -> 'a list
  val fold : ('-> Xml.xml -> 'a) -> '-> Xml.xml -> 'a
  val to_string : Xml.xml -> string
  val to_string_fmt : Xml.xml -> string
end