sourcedoc: Xanadu Camelot specification

hide references

Xanadu Camelot specification

There are three item types within xanadu: xanadocs, links and source documents.

All items are stored with permanent addresses. In this implementation of Xanadu items are encoded in UTF-8 and addressed using URLs.

Source documents are stored as plain text files with no special formatting.

Span pointers refer to part of a source document. They consist of the source document address, an offset from the start of the document and a length. The start position and length are defined in terms of characters, not as bytes.

For example, given a document with the URL, the span pointer for the first 10 characters of the document is:,start=0,length=10

Each xanadoc consists of one or more EDL sections. The EDL can contain span pointers to source documents and links.

Links are normally assigned a type, but type-less links are also supported. Each link can contain multiple facets, the order and number of facets depends on the type of link, for example:

  italics: 1 facet

  title: 2 facets

  comments: 2 facets

The items within a facet can be a sourcedoc, a xanadoc, a link or a span pointer. Each facet can be stored with a name, but the way that the facets are parsed is defined by the type, the facet name does not change the parsing.

A link with the type title is known as a title link, it gives a title to something. The title link has two facets, facet 1 points to the thing which is being titled, it could be a sourcedoc, a xanadoc, another link or a span pointer. The facet 2 is always a span pointer, it points to the title within a source document. The title link and the item specified in facet 1 are not required to have the same author. A thing can have multiple titles, that is multiple title links can point to the same thing in facet 1.




There are 1 documents that refer to this sourcedoc.