package forester

  1. Overview
  2. Docs
type xml_qname = {
  1. prefix : string;
    (*

    The prefix to a qualified XML name; this prefix is expected to be rendered in the scope of a corresponding xmlns binding.

    *)
  2. uname : string;
    (*

    The unqualified part of the XML name.

    *)
  3. xmlns : string option;
    (*

    The XML namespace bound by the current scope to prefix. This is not used when serialising to XML, but can be helpful for other analyses.

    *)
}
val xml_qname_t : xml_qname Repr.t
type xml_attr = {
  1. key : xml_qname;
  2. value : string;
}
val xml_attr_t : xml_attr Repr.t
type 'content attribution =
  1. | Author of 'content
  2. | Contributor of 'content
val attribution_t : 'a Repr.t -> 'a attribution Repr.t
type date_ = {
  1. addr : Base.addr option;
  2. year : int;
  3. month : int option;
  4. day : int option;
}
val date__t : date_ Repr.t
type date =
  1. | Date of date_
val date_t : date Repr.t
type 'content meta_ = {
  1. key : string;
  2. body : 'content;
}
val meta__t : 'a Repr.t -> 'a meta_ Repr.t
type 'content meta =
  1. | Meta of 'content meta_
val meta_t : 'a Repr.t -> 'a meta Repr.t
type 'content xml_tag = {
  1. name : xml_qname;
  2. attrs : xml_attr list;
  3. content : 'content;
}
val xml_tag_t : 'a Repr.t -> 'a xml_tag Repr.t
type ref = {
  1. addr : Base.addr;
  2. taxon : string option;
  3. number : string option;
}
val ref_t : ref Repr.t
type tex = {
  1. display : [ `Inline | `Block ];
  2. body : string;
}
val tex_t : tex Repr.t
type img = {
  1. src : string;
}
val img_t : img Repr.t
type embedded_tex = {
  1. hash : string;
  2. preamble : string;
  3. source : string;
}
val embedded_tex_t : embedded_tex Repr.t
type ('content, 'tree) content_node =
  1. | Text of string
  2. | CDATA of string
  3. | Xml_tag of 'content xml_tag
  4. | Prim of Prim.t * 'content
  5. | Subtree of 'tree
  6. | Ref of ref
  7. | TeX of tex
  8. | Img of img
  9. | Embedded_tex of embedded_tex
  10. | Info of string
val content_node_t : 'a Repr.t -> 'b Repr.t -> ('a, 'b) content_node Repr.t
type 'content frontmatter = {
  1. title : 'content option;
  2. title_text : string option;
  3. anchor : string option;
  4. number : string option;
  5. taxon : string option;
  6. designated_parent : string option;
  7. metas : 'content meta list;
  8. addr : Base.addr option;
  9. source_path : string option;
  10. dates : date list;
  11. last_changed : date option;
  12. attributions : 'content attribution list;
}
val frontmatter_t : 'a Repr.t -> 'a frontmatter Repr.t
type tree_options = {
  1. toc : bool;
  2. numbered : bool;
  3. show_heading : bool;
  4. show_metadata : bool;
  5. expanded : bool;
  6. root : bool;
}
val tree_options_t : tree_options Repr.t
type 'content tree = {
  1. options : tree_options;
  2. frontmatter : 'content frontmatter;
  3. mainmatter : 'content;
  4. backmatter : 'content tree list;
}
val tree_t : 'a Repr.t -> 'a tree Repr.t
type tree_ =
  1. | Tree of content tree
and content =
  1. | Content of (content, tree_) content_node list
val tree__t : tree_ Repr.t
val content_t : content Repr.t
val splice : content -> (content, tree_) content_node list
val splice_tree : tree_ -> content tree
OCaml

Innovation. Community. Security.