A communiqué from Jeni Tennison announces an online collection of resources for the Layered Markup and Annotation Language (LMNL), first introduced at the 2002 Extreme Markup Languages Conference 2002 in Montréal. Project principals include Jeni Tennison, Gavin Thomas Nicol, and Wendell Piez. LMNL, pronounced 'liminal', "is an experimental approach to digital text encoding that supports, in SGML/XML terms, overlapping elements (ranges in LMNL) and structured attributes (annotations in LMNL)." The Extreme paper by Tennison and Piez presented LMNL as a solution to the challenge of representing multiple hierarchies within a single document and annotating existing tree structures with type information (as in the PSVI). The layered data model is based on the Core Range Algebra investigated by Gavin Nichol; this data model views documents as strings over which span a number of named ranges, each of which can themselves have associated metaranges with their own internal structure. The development team has now published a simple tutorial for LMNL and continues to address the "interesting challenges of extracting tree models, writing schema, query, and transformation languages." Initial online specifications cover; (1) the core LMNL Data Model, (2) a Reified Data Model which is used to describe physical documents that represent LMNL documents, and (3) a draft LMNL Object Model (LOM) API which specifies an object-oriented API for the LMNL data model. A public mailing list is dedicated to the discussion of LMNL and its applications.
Adapted from the LMNL data model description: "Basic terms include character, namespace name, local part and expanded name. These are terms that are borrowed from the XML canon, and refer to concepts that are used throughout the LMNL data model. Conceptual foundations of LMNL include the concepts of the layer, the range and the annotation. In brief, a LMNL document consists of one or more layers, arranged on top of each other. The bottom layer is a text layer that contains a sequence of characters. Other layers contain ranges, which label a particular subsequence of items from the layer underneath them with a name, providing information about the structure of the underlying layer. Ranges can also be annotated to provide meta-information about the range that they span over. These annotations hold values that are themselves text layers, and can therefore have their own internal structure as well. [The data model] describes two subsets of LMNL data models as well: the flat subset which are simple data models that only contain one layer of ranges; and the tree subset, which are data models that can be represented by tree structures (contain no overlapping ranges)..."
Discussion forum: "The LMNL-dev list is a public mailing list devoted to the discussion of LMNL and its applications. The list address is email@example.com. To subscribe to the list, send 'subscribe lmnl-dev' in the body of a message to firstname.lastname@example.org. Human assistance: email@example.com.
- LMNL website
- LMNL Tutorial
- LMNL Syntax
- LMNL data model specification:
- "Core Range Algebra: Toward a Formal Model of Markup." By Gavin Nicol (Red Bridge Interactive, Inc).
- XML to LMNL XSLT transform. Converts an arbitrary XML document into a LMNL representation.
- "The Layered Markup and Annotation Language (LMNL)." By Jeni Tennison (Jeni Tennison Consulting) and Wendell Piez (Mulberry Technologies). Extended abstract of the presentation at Extreme Markup 2002.
- Newsclip August 05, 2002: "Extreme Papers on Multiple (Overlapping, Concurrent) Hierarchies"
- "Markup Languages and (Non-) Hierarchies" - Main reference page.