Data Description, Inc.
site map download order
 
  Data Desk
Data Desk/XL
Viz!on
ActivStats
ActivEpi
ProgramLive
KeyDonor

Product Updates
Demo Downloads
Data Desk Templates
SHOE file format

Product Registration
Customer Service
 

SHOE Spec Level 2

family: format family Ids


At the beginning of a Shoe file is an optional field for format family. If this field is not present, the format family is ShoeFmlyDefault (= 0).

The rest of this level 2 specification applies only if the format family is ShoeFmlyVers1 (= 1). if read file in which the format family is not ShoeFmlyVers1, then should stop reading, because the file is written in a different, and incompatible format. (incompatible at level 2, but still compatible at level 1)

there are two reasons for having the format family field:

  • 1) it is possible to add new object and property types to the existing format. but eventually in the future may find that mostly using new ids, and not the old ids. since the lower ids are encoded more compactly, this means the file format would be less efficient. so at this point could renumber all the ids, and use a new format family id. then new programs could read both versions, but old programs would detect that can't read the new version.
  • 2) if other people wanted to use the level 1 Shoe format, but the level 2 encoding isn't suited to their purposes, then they can use their own format family id. (they should get this id from Data Description, to avoid conflicts) An advantage of using the level 1 Shoe format is that some Shoe tools would work on files of any format family. such as a tool to salvage damaged files.
 

The Shoe specification consists of three levels:

level 0 - This level defines the storage and/or transmission of the stream of bytes upon which Shoe is based. i.e. file types, clipboard types.

level 1 - This level defines the overall structure of a Shoe file, independent of its meaning. i.e. how objects are composed of properties.

level 2 - This level defines the interpretation of the Shoe file. i.e. object types, property types, data types.