Module Tyxml_xml
Basic functions for construction and manipulation of XML tree.
include Xml_sigs.Iterable with type uri = string and type event_handler = string and type mouse_event_handler = string and type keyboard_event_handler = string and type touch_event_handler = string
include Xml_sigs.NoWrap
module W = Xml_wrap.NoWrap
type aname
= string
type event_handler
type mouse_event_handler
type keyboard_event_handler
type touch_event_handler
type attrib
val float_attrib : aname -> float wrap -> attrib
val int_attrib : aname -> int wrap -> attrib
val string_attrib : aname -> string wrap -> attrib
val space_sep_attrib : aname -> string list wrap -> attrib
val comma_sep_attrib : aname -> string list wrap -> attrib
val event_handler_attrib : aname -> event_handler -> attrib
val mouse_event_handler_attrib : aname -> mouse_event_handler -> attrib
val keyboard_event_handler_attrib : aname -> keyboard_event_handler -> attrib
val touch_event_handler_attrib : aname -> touch_event_handler -> attrib
val uri_attrib : aname -> uri wrap -> attrib
val uris_attrib : aname -> uri list wrap -> attrib
val empty : unit -> elt
val comment : string -> elt
val pcdata : string wrap -> elt
val encodedpcdata : string wrap -> elt
val entity : string -> elt
val leaf : ?a:attrib list -> ename -> elt
val node : ?a:attrib list -> ename -> elt list_wrap -> elt
val cdata : string -> elt
val cdata_script : string -> elt
val cdata_style : string -> elt
type acontent
= private
|
AFloat of float
|
AInt of int
|
AStr of string
|
AStrL of separator * string list
include Xml_sigs.Pp with type elt := elt
val pp : ?encode:(string -> string) -> ?indent:bool -> unit -> Stdlib.Format.formatter -> elt -> unit
pp ()
is aFormat
printer for untyped XML.It can be used in combination with
"%a"
. For example, to get a string:let s = Format.asprintf "%a" (pp ()) my_xml
A custom encoding function can be provided with the
~encode
argument. Various implementations ofencode
are available inXml_print
.
Import/Export
val of_seq : Xml_stream.signal Stdlib.Seq.t -> elt list
Iterators
val amap : (ename -> attrib list -> attrib list) -> elt -> elt
Recursively edit attributes for the element and all its children.
val amap1 : (ename -> attrib list -> attrib list) -> elt -> elt
Edit attributes only for one element.
val rm_attrib : (aname -> bool) -> attrib list -> attrib list
val rm_attrib_from_list : (aname -> bool) -> (string -> bool) -> attrib list -> attrib list
val map_int_attrib : (aname -> bool) -> (int -> int) -> attrib list -> attrib list
val map_string_attrib : (aname -> bool) -> (string -> string) -> attrib list -> attrib list
val map_string_attrib_in_list : (aname -> bool) -> (string -> string) -> attrib list -> attrib list
val add_int_attrib : aname -> int -> attrib list -> attrib list
val add_string_attrib : aname -> string -> attrib list -> attrib list
val add_comma_sep_attrib : aname -> string -> attrib list -> attrib list
val add_space_sep_attrib : aname -> string -> attrib list -> attrib list
val fold : (unit -> 'a) -> (string -> 'a) -> (string -> 'a) -> (string -> 'a) -> (string -> 'a) -> (ename -> attrib list -> 'a) -> (ename -> attrib list -> 'a list -> 'a) -> elt -> 'a
val all_entities : elt -> string list
val translate : (ename -> attrib list -> elt) -> (ename -> attrib list -> elt list -> elt) -> ('state -> ename -> attrib list -> elt list) -> ('state -> ename -> attrib list -> elt list -> elt list) -> (ename -> attrib list -> 'state -> 'state) -> 'state -> elt -> elt
Deprecated printers
val print_list : output:(string -> unit) -> ?encode:(string -> string) -> elt list -> unit
val print : Stdlib.Format.formatter -> elt -> unit