Up

module Xml_iter

: sig

Basic iterators over XML tree (functorial interface).

#
module Make : functor (Xml : Xml_sigs.Iterable) -> sig
#
val amap : (Xml.ename -> Xml.attrib list -> Xml.attrib list) -> Xml.elt -> Xml.elt

Recursively edit attributes for the element and all its children.

#
val amap1 : (Xml.ename -> Xml.attrib list -> Xml.attrib list) -> Xml.elt -> Xml.elt

Edit attributes only for one element.

The following can safely be exported by higher level libraries, because removing an attribute from a element is always legal.

#
val rm_attrib : (Xml.aname -> bool) -> Xml.attrib list -> Xml.attrib list
#
val rm_attrib_from_list : (Xml.aname -> bool) -> (string -> bool) -> Xml.attrib list -> Xml.attrib list
#
val map_int_attrib : (Xml.aname -> bool) -> (int -> int) -> Xml.attrib list -> Xml.attrib list
#
val map_float_attrib : (Xml.aname -> bool) -> (float -> float) -> Xml.attrib list -> Xml.attrib list
#
val map_string_attrib : (Xml.aname -> bool) -> (string -> string) -> Xml.attrib list -> Xml.attrib list
#
val map_string_attrib_in_list : (Xml.aname -> bool) -> (string -> string) -> Xml.attrib list -> Xml.attrib list

Exporting the following by higher level libraries would drive a hole through a type system, because they allow to add any attribute to any element.

#
val add_int_attrib : Xml.aname -> int -> Xml.attrib list -> Xml.attrib list
#
val add_float_attrib : Xml.aname -> float -> Xml.attrib list -> Xml.attrib list
#
val add_string_attrib : Xml.aname -> string -> Xml.attrib list -> Xml.attrib list
#
val add_comma_sep_attrib : Xml.aname -> string -> Xml.attrib list -> Xml.attrib list
#
val add_space_sep_attrib : Xml.aname -> string -> Xml.attrib list -> Xml.attrib list
#
val fold : (unit -> 'a) -> (string -> 'a) -> (string -> 'a) -> (string -> 'a) -> (string -> 'a) -> (Xml.ename -> Xml.attrib list -> 'a) -> (Xml.ename -> Xml.attrib list -> 'a list -> 'a) -> Xml.elt -> 'a
#
val all_entities : Xml.elt -> string list
#
val translate : (Xml.ename -> Xml.attrib list -> Xml.elt) -> (Xml.ename -> Xml.attrib list -> Xml.elt list -> Xml.elt) -> ('state -> Xml.ename -> Xml.attrib list -> Xml.elt list) -> ('state -> Xml.ename -> Xml.attrib list -> Xml.elt list -> Xml.elt list) -> (Xml.ename -> Xml.attrib list -> 'state -> 'state) -> 'state -> Xml.elt -> Xml.elt
end
end