Module Gedcom

module Gedcom: sig .. end

GEDCOM 5.5.1 handling in OCaml.




Parsing function.


type gedcom_line = int * string option * string * string option 
(LVL, XREF_ID, TAG, VALUE)
type gedcom_node = gedcom_line * gedcom_node list 
You will need to use -rectypes compiler flag with this type.
val parse_line : string -> gedcom_line
Parse a GEDCOM line.
val parse_lines : Pervasives.in_channel -> gedcom_line list
Read a list of lines from an in_channel and return the gedcom_line list corresponding.
val mk_tree : gedcom_line list -> gedcom_node list
Turn a list of gedcom_line into a tree using tags level.

gedcom_line getters.


val lvl : gedcom_line -> int
Get the level of a gedcom_line
val xref : gedcom_line -> string
Get the xref of a gedcom_line. Raise Not_found if no such information is present.
val tag : gedcom_line -> string
Get the tag of a gedcom_line.
val value : gedcom_line -> string
Get the value of a gedcom_line. Raise Not_found if no such information is present.

gedcom_node getters.


val node : gedcom_node -> gedcom_line
Get node value, i.e. the current gedcom_line.
val children : gedcom_node -> gedcom_node list
Get node children.

Helpers module.


module GedcomHelpers: sig .. end

Printing module (on stdout).


module GedcomPrint: sig .. end