jon.recoil.org

Module Make.XmlSource

Underlying XML data-structure

The type variables in elt and attrib are know as phantom types. The implementation, defined here, is actually monomorphic.

In particular, tyxml doesn't impose any overhead over the underlying representation. The tot and toelt functions allows to convert between the typed and the untyped representation without any cost.

Note that some implementation may not be iterable or printable, such as the Dom representation exposed by js_of_ocaml.

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