jensen%hsr.uninett@NORUNIX.BITNET ("Tarjei T. Jensen") (02/26/89)
If I were to solve something like this I would create something called a fil description language. This would enable somebody at the other end to reconstruct the original file or make a representation of it. It would be human readable so that people without the facility would be able to find out what to do. I don't care whether somebody would have to invent a cludge or something to get this to work gracefully. All I want is for it to work. That means that ftp probably should know about it (FTP "STRU FDL"?) through some sort of extended hand-shake sequence. A language like this could probably be used to export and import data into databases. Below I'll give an example of what I mean. I suppose one would send the description first and then the file itself. In certain cases there would have to be a facility to build a binary file from an ascii representation. E.g. ISAM files. This would be appended to the description file and fed to someting that would build the right file. I know this could be a difficult task, but if the description is human readable we can work something out. The point is to make the description logical, so when the time is right somebody can make a program that will handle this in a reasonable manner. Examples (they do not show everything I would want in a description): DESCRITPTION QUOTE=" SEPARATOR=" " REALNAME="A_NICE_FILE.BCK" FILETYPE=VMSBACKUP ASCII8 NOPARITY ENCODED COMPACTED CRC=FILE OPERATINGSYSTEM=VMS_4.7 CPU=VAX COMPACTID=COMPRESS_6.4 ENCODEID=UUENCODE_1.4 CRC=4AC384D5 SPECIAL BCK BCK_BACKUPTYPE=IMAGE BCK_RECORDLENGTH=32768 ENDSPECIAL REPRESENTATION=EXTERNAL ENDDESCRIPTION DESCRIPTION QUOTE=" SEPARATOR=" " REALNAME="A.FILE.ISAM" FILETYPE=ISAM ASCII7 NOPARITY ENCODED COMPACTED CRC=FILE OPERATINGSYSTEM=SINTRAN_III CPU=ND110CX COMPACTID=CPRS_92.4c ENCODEID=BIGSECRET_MCLXIIV CRC=32F798FD SPECIAL ISAM ISAM_DEFINERECORD_1 "clients" ISAM_DEFINEFIELD_1 "client name" STRING 80 ASCII8 ISAM_DEFINEFIELD_1 "address" NESTED ISAM_DEFINEFIELD_2 "address 1" STRING 60 ASCII8 ISAM_DEFINEFIELD_2 "address 2" STRING 60 ASCII8 ISAM_DEFINERECORD_END ENDSPECIAL REPRESENTATION=INLINE ATTENTION="ISAM_" ESCAPE="@" ISAM_RECORD1 NO=1 ISAM_RECORD1 NO=SEQUENCE ISAM_ENDREPRESENTATION ENDDESCRITPTION If you don't like it I understand, but try to find something more portable. With a description like this it would be easy to import the file into a database that know about FDL. We would have tools that would generate code to access the file.