A LMNL Object Model (LOM) implementation for representing marked-up text with multi-layered annotations, that can overlap
arbitrarily.
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