|
Unix Programming - Data File Metaformats - Record-Jar Format
Record-Jar Format
Cookie-jar record separators combine well with the RFC 822
metaformat for records, yielding a format we'll call
‘record-jar’. If you need a textual format that will
support multiple records with a variable repertoire of explicit
fieldnames, one of the least surprising and human-friendliest ways to
do it would look like Example5.4.
Example5.4.Basic data for three planets in a record-jar format.
Planet: Mercury
Orbital-Radius: 57,910,000 km
Diameter: 4,880 km
Mass: 3.30e23 kg
%%
Planet: Venus
Orbital-Radius: 108,200,000 km
Diameter: 12,103.6 km
Mass: 4.869e24 kg
%%
Planet: Earth
Orbital-Radius: 149,600,000 km
Diameter: 12,756.3 km
Mass: 5.972e24 kg
Moons: Luna
Of course, the record delimiter could be a blank line, but a
line consisting of "%%\n" is more explicit and less likely to be
introduced by accident during editing (two printable characters are
better than one because it can't be generated by a single-character
typo). In a format like this it is good practice to simply ignore
blank lines.
If your records have an unstructured text part, your record-jar
format is closely approaching a mailbox format. In this case, it's
important that you have a well-defined way to escape the record
delimiter so it can appear in text; otherwise, your record reader is
going to choke on an ill-formed text part someday. Some technique
analogous to byte-stuffing (described later in this chapter) is
indicated.
Record-jar format is appropriate for sets of field-attribute
associations that are like DSV files, but have a variable repertoire
of fields, and possibly unstructured text associated with them.
[an error occurred while processing this directive]
|