This document describes known problems and limitations with SDTS++.

Version 0.5.3 :

The builder layer only supports a minimal set of SDTS modules, namely
those for the Raster Profile.  Even then, certain static modules were
excluded, such as the Data Dictionary modules.

Error handling and reporting could be improved.  Some portions of code
could be reorganized to make it more comprehendible.  Check for "XXX"
comments.

Configure script could be enhanced to suss out compiler differences.

SGI's native CC compiler doesn't support "-MM" switch to generate
local dependencies.


Version 0.5.2 :

Broken for Visual C++.


Version 0.5 :

None that we're aware of offhand.


Version 0.4 :

Changes to the code to make it work with gcc 2.8.x and egcs 1.0.x
broke it for use with Visual C++ 5.x.


Version 0.3 :

1.  Missing subfields in sc_Record cause corrupted data when writing modules.

That is, if the schema for a module says that there is a subfield, and
that subfield isn't in a record that's passed to
sio_8211Writer::put(), then the pointers between the schema subfield
format and the record subfield seem to get out of synch.

This is important enough to warrant a fix.  But for now you can work
around this by MAKING SURE that you have subfields for all the subfields
that are given in the schema.  Even if they're empty ones, they have to
be there.


2.  Record identifier field not automatically written to modules.

This is not really a bug -- if anything it's a feature.

The SDTS standard Part 3 did specify that a record identifier field
should be part of the 8211 files corresponding for each module.  This
has now changed to be an _optional_ 8211 field.  Each 8211 DR now need
not include a record identifier field.

Since this field is now optional, we decided to _not_ automatically
include record identifier fields.  The information in that field was
superfluous, added unnecessary overhead, and would also add to
development time.

However you can add these fields to modules if you really want them.
First, insure that the proper field format is prepended to the schema
before passing the schema to the writer.  (By "proper" I mean defining
an sio_8211FieldFormat for an 8211 record identifier field.)  Then
make sure that the first sc_Field in the sc_Record used by the writer
corresponds with the record identifier field -- and that it has valid
field information (i.e., the current record number).  The record
identifier field will then be properly written out when the record is
passed to the writer's put() function.


3.  Support for permuted tags

There is no implicit, automatic support for permuted tags.  See
"doc/MANUAL" for more information.
