My agentic slop goes here. Not intended for anyone else!
1(** Common module for XML parsing. *)
2
3(** The type for the optional {{:http://www.w3.org/TR/REC-xml/#dt-doctype}DTD}. *)
4type dtd = string option
5
6type pos = Xmlm.pos
7type tag = Xmlm.tag
8
9(** A XML tree. *)
10type t = Node of pos * tag * t list | Data of pos * string
11
12val resolve : xmlbase:Uri.t option -> Uri.t -> Uri.t
13(** [resolve base uri] resolve the [uri] against the possible base. *)
14
15val get_position : t -> pos
16val input_of_channel : in_channel -> Xmlm.input
17
18val of_xmlm : Xmlm.input -> dtd * t
19(** [of_xmlm doc] converts an XML document [doc] into a DTD and a tree
20 representing the document. *)
21
22val make_output :
23 ?ns_prefix:(string -> string option) -> Xmlm.dest -> Xmlm.output
24
25val to_xmlm : ?dtd:string -> t -> Xmlm.output -> unit
26val to_string : ?ns_prefix:(string -> string option) -> t -> string
27val to_buffer : ?ns_prefix:(string -> string option) -> t -> Buffer.t -> unit