sig
  module W : Xml_wrap.T
  type 'a wrap = 'W.t
  type 'a list_wrap = 'W.tlist
  type uri
  val string_of_uri : (Xml_sigs.T.uri, string) W.ft
  val uri_of_string : (string, Xml_sigs.T.uri) W.ft
  type aname = string
  type event_handler
  type mouse_event_handler
  type keyboard_event_handler
  type attrib
  val float_attrib :
    Xml_sigs.T.aname -> float Xml_sigs.T.wrap -> Xml_sigs.T.attrib
  val int_attrib :
    Xml_sigs.T.aname -> int Xml_sigs.T.wrap -> Xml_sigs.T.attrib
  val string_attrib :
    Xml_sigs.T.aname -> string Xml_sigs.T.wrap -> Xml_sigs.T.attrib
  val space_sep_attrib :
    Xml_sigs.T.aname -> string list Xml_sigs.T.wrap -> Xml_sigs.T.attrib
  val comma_sep_attrib :
    Xml_sigs.T.aname -> string list Xml_sigs.T.wrap -> Xml_sigs.T.attrib
  val event_handler_attrib :
    Xml_sigs.T.aname -> Xml_sigs.T.event_handler -> Xml_sigs.T.attrib
  val mouse_event_handler_attrib :
    Xml_sigs.T.aname -> Xml_sigs.T.mouse_event_handler -> Xml_sigs.T.attrib
  val keyboard_event_handler_attrib :
    Xml_sigs.T.aname ->
    Xml_sigs.T.keyboard_event_handler -> Xml_sigs.T.attrib
  val uri_attrib :
    Xml_sigs.T.aname -> Xml_sigs.T.uri Xml_sigs.T.wrap -> Xml_sigs.T.attrib
  val uris_attrib :
    Xml_sigs.T.aname ->
    Xml_sigs.T.uri list Xml_sigs.T.wrap -> Xml_sigs.T.attrib
  type elt
  type ename = string
  val empty : unit -> Xml_sigs.T.elt
  val comment : string -> Xml_sigs.T.elt
  val pcdata : string Xml_sigs.T.wrap -> Xml_sigs.T.elt
  val encodedpcdata : string Xml_sigs.T.wrap -> Xml_sigs.T.elt
  val entity : string -> Xml_sigs.T.elt
  val leaf : ?a:Xml_sigs.T.attrib list -> Xml_sigs.T.ename -> Xml_sigs.T.elt
  val node :
    ?a:Xml_sigs.T.attrib list ->
    Xml_sigs.T.ename -> Xml_sigs.T.elt Xml_sigs.T.list_wrap -> Xml_sigs.T.elt
  val cdata : string -> Xml_sigs.T.elt
  val cdata_script : string -> Xml_sigs.T.elt
  val cdata_style : string -> Xml_sigs.T.elt
end