The generic data representation language defined in this chapter may be used to represent any form of structured information, not just genealogical data, using a sequential stream of characters. A record is represented as a sequence of tagged, variable-length lines, arranged in a hierarchy. A line always contains a hierarchical level number, a tag, and an optional value. A line may also contain a cross-reference identifier or a pointer. This means that the data is self-defining.
Tags allow a field to occur any number of times within a record, including zero times.
The hierarchical relationships are indicated by a level number. Subordinate lines have a higher level number. A line and its sub-lines constitute a context or enclosure, that is, a cluster of information pertaining directly to the same thing. This hierarchical arrangement corresponds with the natural hierarchy found in most structured information. A series of one or more lines constitutes a record.