A LMNL Object Model (LOM) implementation for representing marked-up text with multi-layered annotations, that can overlap arbitrarily.

LOM UML class diagram A simplified UML class diagram depicting a LOM's central entities is shown on the right. The basic concepts, namely documents, layers, annotations and ranges, are derived from the experimental markup language LMNL, the Layered Markup and Annotation Language as invented by Jeni Tennison and Wendell Piez. Instead of supporting its own syntax for input/output of LMNL documents (LOM instances) though, as it has been originally proposed for LMNL as a genuine markup language, this implementation strives to be a cleanroom adaptation of LMNL, that concentrates on the data model. As a means of an extensible input/output format, serializiation of a LOM in JavaScript Object Notation (JSON) is offered.

@author Gregor Middell