package forester
Source file Xml_printer.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26open Prelude type printer = Xmlm.output -> unit module P0 = struct type out = Xmlm.output let text txt out = Xmlm.output out @@ `Data txt end include Printer_kit.Kit (P0) let tag name attrs bdy : printer = let attrs' = attrs |> List.map @@ fun (k,v) -> ("", k), v in fun out -> Xmlm.output out @@ `El_start (("", name), attrs'); seq ~sep:space bdy out; Xmlm.output out `El_end let with_xsl stylesheet bdy : printer = fun out -> let line = Format.sprintf "<?xml-stylesheet type=\"text/xsl\" href=\"%s\"?>" stylesheet in Xmlm.output out @@ `Dtd (Some line); bdy out