comp.lang.ada
 help / color / mirror / Atom feed
From: "Robert I. Eachus" <rieachus@attbi.com>
Subject: Re: A standard package for config files is needed
Date: Mon, 03 Jun 2002 01:00:02 GMT
Date: 2002-06-03T01:00:02+00:00	[thread overview]
Message-ID: <3CFAC0AD.8040504@attbi.com> (raw)
In-Reply-To: slrnaf6onp.lpu.randhol+abuse@kiuk0152.chembio.ntnu.no

Preben Randhol wrote:

> On the GtkAda list there has been some discussion on making a standard
> package for reading/writing configuration files. As most programs need
> this it would be very nice with a small, platform independant, robust
> but easy to use package.
> 
> Of course one can use XML for something like this, but in most
> applications this would be an overkill. Besides a program shouldn't have to be
> tie in with XMLAda just because of the configuration files. This package
> should be nice for small applications made by student, hobbyists or
> professionals...
> I think this is a package that should be kept as simple as possible and
> easy to use and robust.


Sounds like a good idea, but why all the sound and fury?  This is what 
the IFF (Interchange File Format) was designed to do.  Requiring simple 
programs to understand ALL IFF types would indeed be a heavy burden. 
But IFF is designed so that data in formats your program doesn't 
understand can be skipped over.  One nice thing about .iff files is that 
if you really have to, you can go in with a hex editor and muck about to 
fix a broken file, but reading or writing an IFF file as a byte or 
16-bit word stream is fairly painless.

Basically the way an IFF file works is that every IFF file starts with a 
four byte header.  Almost all IFF files start with 'FORM', 'LIST', or 
'CAT '.  The next four bytes are an unsigned long that tells you the 
number of bytes in the entire object.  One of the two exceptions to the 
above is that some x86 specific IFF files start with 'RIFF' to indicate 
that the byte order of numbers is reversed from standard IFF. (Also some 
MIDI file generators leave out the initial 'FORM' and size and start 
with 'MThd'.)

Of course, the real power of IFF is that the structural types can 
contain a hierarchy of nested objects.  ILBMs are interleaved bit-maps 
for video, 8SVX, AIFF, etc. are audio formats. GIFF is a fairly well 
known image format with a table of 256 colors, etc.  Since the size of 
the object, including nested objects always follows the type, a program 
can skip the data types it doesn't recognize--or want to deal with--and 
select out the data that it does.

How does this differ from XML?  XML formatting is more about schemas, 
and is entirely text based.  In IFF files, 'TEXT' is just another file 
format.  With IFF files you can support all of the UTFx file formats in 
the Unicode (and ISO 10646) standards without raising a sweat.

So IMHO, the way to go is to provide an IFF reader/writer package, have 
it support an 'XML ' data type, and go from there.  Those people who 
only need text support, and don't care about localization can use XML. 
Those who need the whole ball of wax can create IFF files, and support 
XML as a subset.  (I believe that Electonic Arts is still maintaining 
the IFF standard, but the original can be found here: 
http://www.concentric.net/~Bradds/iff.html)






  parent reply	other threads:[~2002-06-03  1:00 UTC|newest]

Thread overview: 130+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-28 10:59 A standard package for config files is needed Preben Randhol
2002-05-28 12:09 ` Martin Dowie
2002-05-28 12:09   ` Preben Randhol
2002-05-28 16:33 ` Darren New
2002-05-28 18:10   ` achrist
2002-05-28 20:28     ` Darren New
2002-05-28 22:35   ` Mark Biggar
2002-05-29  3:13     ` Hyman Rosen
2002-05-29  7:18       ` Pascal Obry
2002-05-29 14:40         ` The commercial world needs Ada was " Robert C. Leif
2002-05-29 16:29           ` Darren New
2002-05-29 23:26             ` Robert C. Leif
2002-05-30  0:10               ` Darren New
2002-05-29 17:08         ` Hyman Rosen
2002-05-29 19:34           ` Larry Kilgallen
2002-05-29 11:01   ` Preben Randhol
2002-05-29 16:23     ` Darren New
2002-05-29 21:42       ` achrist
2002-05-30  9:53         ` Preben Randhol
2002-05-30 14:45         ` Gautier
2002-05-30 17:00           ` achrist
2002-05-28 20:44 ` Marin David Condic
2002-05-29 11:05   ` Preben Randhol
2002-05-29 18:09   ` Ted Dennison
2002-05-29 18:59   ` Ted Dennison
2002-05-29 19:49     ` Marin David Condic
2002-05-30 17:52       ` Ted Dennison
2002-05-30 18:21         ` Preben Randhol
2002-05-30 22:55           ` Darren New
2002-05-31 15:52             ` Ted Dennison
2002-05-31 21:31               ` tmoran
2002-06-01 15:39                 ` Stephen Leake
2002-06-03 13:05                 ` Marin David Condic
2002-05-30 20:00         ` Marin David Condic
2002-05-31  6:43         ` Mats Karlssohn
2002-05-31 22:04           ` Robert C. Leif
2002-05-29  2:18 ` SteveD
2002-05-29 11:07   ` Preben Randhol
2002-05-29 12:57     ` SteveD
2002-05-29 13:05       ` Preben Randhol
2002-05-29 13:52         ` SteveD
2002-05-29 13:57           ` Preben Randhol
2002-05-29 16:30           ` Darren New
2002-05-29 19:24             ` Simon Wright
2002-05-30  9:54               ` Preben Randhol
2002-05-29 14:41     ` Robert C. Leif
2002-05-29 14:59       ` Martin Dowie
2002-05-29 15:30       ` Preben Randhol
2002-05-29 15:32       ` Preben Randhol
2002-05-29 19:29         ` Simon Wright
2002-05-31 16:26           ` Preben Randhol
2002-05-31 16:01       ` Ted Dennison
2002-06-01  2:27         ` Robert C. Leif
2002-06-01 16:38           ` Ted Dennison
2002-06-01 17:48             ` Robert C. Leif
2002-06-01 18:11               ` Pascal Obry
2002-06-02  3:30                 ` XML and Ada was " Robert C. Leif
2002-06-02  6:52                   ` Pascal Obry
2002-06-02 16:29                     ` XML and Ada Robert C. Leif
2002-06-02  7:54                   ` XML and Ada was RE: A standard package for config files is needed Gerhard Häring
2002-06-02 15:51                     ` Darren New
2002-06-02 19:02                       ` Preben Randhol
2002-06-02 20:52                         ` Gerhard Häring
2002-06-03  6:10                           ` Preben Randhol
2002-06-02 22:06                         ` Stephen Leake
2002-06-03  2:17                           ` Robert C. Leif
2002-06-04 18:48                             ` Georg Bauhaus
2002-06-05 14:17                               ` Robert C. Leif
2002-06-06 14:15                                 ` Georg Bauhaus
2002-06-07  0:33                                   ` Robert C. Leif
2002-06-07 10:55                                     ` Georg Bauhaus
2002-06-03  2:21                           ` Robert C. Leif
2002-06-03 14:20                             ` Marin David Condic
2002-06-04  1:39                               ` SteveD
2002-06-03  6:13                           ` Preben Randhol
2002-06-04 18:54                           ` Georg Bauhaus
2002-06-09 20:01                             ` Stephen Leake
2002-06-09 22:24                               ` Eric G. Miller
2002-06-10 12:31                                 ` Stephen Leake
2002-06-12  4:17                                   ` Eric G. Miller
2002-06-01 20:36               ` Preben Randhol
2002-06-02  3:30                 ` Robert C. Leif
2002-06-01 20:31             ` Preben Randhol
2002-05-29  7:22 ` Volkert
2002-05-29 14:41   ` Robert C. Leif
2002-05-29 18:26   ` tmoran
2002-05-30  7:41     ` Volkert Barr
2002-05-30  8:34       ` tmoran
2002-05-30  9:03         ` Volkert Barr
2002-05-30 13:39         ` Marin David Condic
2002-05-31 16:25           ` Ted Dennison
2002-05-31 16:50             ` Preben Randhol
2002-05-31 22:24               ` Ted Dennison
2002-06-01 15:44                 ` Stephen Leake
2002-05-31 17:25             ` Marin David Condic
2002-06-01 13:51               ` Preben Randhol
2002-06-03 13:23                 ` Marin David Condic
2002-06-04 11:46                   ` Preben Randhol
2002-06-01 15:53               ` Stephen Leake
2002-05-30 15:08         ` Stephen Leake
2002-05-30 16:07           ` Preben Randhol
2002-05-31 16:39         ` Preben Randhol
2002-05-31 21:31           ` tmoran
2002-05-31  9:05     ` Georg Bauhaus
2002-05-31 11:01       ` Florian Weimer
2002-05-31 13:15       ` Marin David Condic
2002-06-01 15:46         ` Stephen Leake
2002-06-01 16:50           ` Darren New
2002-05-31 13:34       ` Stephen Leake
2002-05-29 19:05   ` Ted Dennison
2002-05-30  7:49     ` Volkert Barr
2002-05-31 16:42       ` Preben Randhol
2002-05-29 17:56 ` Chad R. Meiners
2002-05-29 18:25 ` Ted Dennison
2002-05-30 19:58 ` Jacob Sparre Andersen
2002-05-30 20:12   ` Marin David Condic
2002-05-31  7:37     ` Preben Randhol
2002-05-31 13:21       ` Marin David Condic
2002-05-31 13:46         ` Marin David Condic
2002-06-01 11:23           ` Preben Randhol
2002-06-01 11:10         ` Preben Randhol
2002-06-01 15:50         ` Stephen Leake
2002-06-03 12:53         ` Jacob Sparre Andersen
2002-05-30 23:08   ` Darren New
2002-05-31 13:30   ` Stephen Leake
2002-06-03  1:00 ` Robert I. Eachus [this message]
2002-06-03  6:24   ` Preben Randhol
2002-06-03 15:54     ` Darren New
2002-06-03 16:49       ` Darren New
2002-06-09 21:27   ` Stephen Leake
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox