For the complete documentation index, see llms.txt. This page is also available as Markdown.

Data Sections

The data section — section separators, objects, and collections.

The data section is where the actual data of an Internet Object document resides. A document can have one or more data sections, each introduced by a separator line (---) and optionally labelled with a section name and schema. The data itself is either a single object or a collection of objects, giving a flexible yet structured way to represent information. The diagram below shows the shape of a data section.

Internet Object document data section structure

Structure overview

Section separator line

Each data section begins with a separator line (---) that divides the document into distinct sections. The separator can carry two optional elements:

  • Section name — identifies the section and its purpose.

  • Schema name — names the schema that constrains the section, prefixed with $.

Separator line. The separator line must end with a newline (\n) or EOF (end of file).

The separator can take several forms, from least to most detailed, each ending with a newline (\n) or EOF:

  • Without name and schema — the simplest form, just the separator (---).

  • With section name — the separator followed by a name (--- employee).

  • With section name and schema — a name and schema name, separated by a colon (--- employee : $employee).

  • With only schema — the separator followed by just the schema name (--- $employee).

Rules for section names and schemas

  • Omitting the section name — in a multi-section document, the section name may be omitted only once. When omitted, the name is derived from the associated schema (e.g. --- $employee implies the section name employee).

  • Default section name and schema — if both the name and schema are omitted, the section name defaults to data and the document's default schema is used.

  • Unique section names — each section must have a unique name; duplicate names are not allowed.

Examples of section separators

Separator line without name and schema

The simplest form. It uses the default section name (data) and the document's default schema.

Separator line with a section name

Here the section name is employee. The schema is the document's default schema.

Separator line with a section name and schema

Here both the name and schema are stated explicitly, as employee and $employee.

Separator line with only a schema

Here only the schema is named. The section name is derived from the schema name (employee). If that name is already used elsewhere in the document, it is an error.

Data

After the separator line comes the data. It is either a single object or a collection of objects — the flexibility that lets the format carry many kinds of information efficiently.

Objects

Objects are structured entities composed of key-value pairs. Each object is written within curly braces {} and may contain nested objects or other values, forming a hierarchy.

Collections

Collections are lists of objects, allowing multiple records within one data section. Each object in a collection is written the same way as a standalone object but belongs to the broader collection. See Collection for record syntax, type promotion, and validation rules.

Examples of data

Single object

A single object can follow the separator directly.

A single-section document with no header or schema does not need a separator, so the example above can also be written as:

Collection of objects

A collection lists objects, each prefixed with ~ on its own line:

Empty data section

A data section may be empty — just the separator line with no data.

An entirely empty document needs no separator at all.

Multi-section document example

A document can include multiple sections, each with its own data:

Organized by separators and built from objects and collections, the data section offers a robust, flexible way to carry data — keeping documents clear, consistent, and effective across a wide range of applications.

See Also

Last updated

Was this helpful?