2.2.2 Section Entry

Sections provide a means of hierarchically structuring the database. A section is simply a container for subentries, much like a directory or a folder. If mogul:/sherlock/BakerStreet is the URI id of a section, then the URI of an immediate entry might be mogul:/sherlock/BakerStreet/pipe. This makes it easy to structure the database into sections and subsections, just like you would organize your files into directories and subdirectories.

An individual contributor obtains an id from the Mozart Consortium and typically will use it to denote a section entry in which he accumulates all his package entries, plus possibly one contact entry for himself. A larger group, however, might want to grant subsections to its members or employees thus allowing for local decentralization.

A section's body contains lines that look just like headers. Each line corresponds to a subentry, and associates an id with the url at which the entry can be found. For example:

type:  section
id:    sherlock
email: watson@baker-street.com
 
holmes: SherlockHolmes.entry
lestrade: http://www.scotland-yard.uk/people/lestrade/MeForMogul
irregulars: BakerStreetIrregulars.entry

The id of a subentry must be given in a ``relative'' form.1 The actual id is then computed by resolving relative to the section's ID. Thus the relative URI id irregulars is resolved relative to mogul:/sherlock to produce the absolute URI id mogul:/sherlock/irregulars

Similarly, URLs of entries may be given in a relative form: they are then resolved relative to the URL of the section entry. For example, assuming that the URL of the section entry above is

http://www.baker-street.com/~watson/mogul/db/sherlock.main

then, the URL for subentry mogul:/sherlock/holmes, which was supplied in the relative form SherlockHolmes.entry, will be resolved to:

http://www.baker-street.com/~watson/mogul/db/SherlockHolmes.entry

Note that the optional email header permits to introduce an administrative address for a subsection that is different from that of its parent section.


1. Actually it may be given in an absolute form provided that the mogul: scheme prefix is omitted. Otherwise, the colon is mistaken for the end of the header key.

Denys Duchier
Version 1.3.0 (20040413)