package forester

  1. Overview
  2. Docs
A tool for tending mathematical forests

Install

Dune Dependency

Authors

Maintainers

Sources

3.1.0.tar.gz
md5=3512b493a31b0d1073ba4e48e8058493
sha512=b6e5ad2f86132d1874cb943546375e2f1b987a0c65628d71f17827f1ff7435df476c86fb135b34b3ff302f99ea54a21b90730257e12aa41cce170fae57c422b0

doc/src/forester.render/Xml_printer.ml.html

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
26
27
28
29
30
31
32
33
open 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 attr ?(ns = "") k v =
  (ns, k), v

let tag ?(ns = "") name attrs bdy : printer =
  fun out ->
  Xmlm.output out @@ `El_start ((ns, 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

let document body : printer =
  fun out ->
  Xmlm.output out @@ `Dtd None;
  body out
OCaml

Innovation. Community. Security.