KNVRT131

1. Background and documentation

The program was written in 1990 in Germany by Heico Glaser, Ludwig Merckle and K. Weisner. They used the programming language Turbo Pascal 4. Whether it is freeware or shareware is not clear. To register, contact:
     GTZ GmbH
     Information und Dokumentation
     Postfach 5180
     6236 Eschborn 1
     Germany
KNVRT131 comes with an English manual, in form of a ".DOC" text. The source code, containing many comments in German, is also available.

2. General evaluation

Plus Minus

3. Preliminary work

First you must analyse the text (see pargraph 2.2.). After this, you must make a conversion table with an editor. The codes used in a conversion table are rather cryptic. The main problem is to guess the maximum length of records and fields.

The first line identifies the record, e.g.

  ISO5000CLB0245
means:
  - ISO    :                  it will be a conversion to the
                              ISO 2709 format
  - 5000 :                    the maximum record length is
                              5000 characters
  - CL     :                  every line ends with a carriage
                              return and a line feed (the
                              alternative would be CR, which
                              means: only a carriage return)
  - B      :                  insert a blank at the end of
                              every line
  - 0245   :                  some characteristics of the ISO
                              2709 format (it is best to take
                              always 0245)

The second line describes how a record can be recognized. The safest way is to use the first field:
  ETI:
The E stands for "entry"; the TI: for the first tag, nl.
"TI:".
After this you must describe every field. Non-repeatable fields are described like this:
  FTI:
  0010500
The second line has to be read as:
  001 0500
This means: If you want to omit a field, use 000 as ISO 2709 tag, e.g.
  0000100
Repeatable fields are characterized like this:
  FAU:
  0030200R;0100150
This may be read more easily as
  003 0200 R ; 010 0200
This means: After the second line of the specification of each field you can specify string replacements, e.g.
  CHA '-' ' '
which means: change '-' into ' ', or
  CHA '.' ''
which means: change '.' into nothing (i.e. omit the full stop).

After you have finished the conversion tabel, save it under the name of the input file, followed by ".cmd", e.g.

  downl.cmd
This is an example of a complete conversion table:
5000CLB0245
ETI:
FTI:
0010200
FTO:
0020200
FAU:
0030200R;0100200
CHA ',-' ' '
FSO:
0040200
CHA '; ' '^b'
CHA '(' '^c'
CHA ') ' '^d'
CHA ', ' '^e'
CHA '.' '^f'
FPY:
0050004
FLA:
0060020
FAB:
0071000
FFH:
0000200
FDE:
0080500R;0200500
CHA '-' ' '
FCC:
0000100
FDA:
0000100
FAN:
0000100

4. Executing the program

The program starts with the command
  knvrt131
which produces this screen:
                                                               
                
              Conversion of bibliographic data Version 1.3                                  
              ============================================             
        
                                                         
                      
 Copyright   GTZ GmbH, Information und Dokumentation     
                      
 (1990)      Postfach 5180, D-6236 Eschborn 1            
                      
                                                         
                      
  Input File:
Now you must fill in the name of the download, e.g.
  Input File: downl.doc
Now, the program will ask if you want to confirm errors by hitting <return< or not. You must answer with 'j' or 'n', which are abbreviations for the German 'ja' (yes) and 'nein' (no).

Errors will be stored in an error file. This means that the program will write that part of a record in this file up to where it was not able continue the conversion of it. For this example the error file will be called "downl.err". If an error file with this name already exists, the program will ask you if it is OK to overwrite it. And if a message file, called "downl.msg" already exists, the program will also ask if it can by overwritten or not. It is not clear what purpose the message file has. I could not provoke the program to write anything in it:

              Conversion of bibliographic data Version 1.3                      
             
              ============================================             
        
                                                         
                      
 Copyright   GTZ GmbH, Information und Dokumentation     
                      
 (1990)      Postfach 5180, D-6236 Eschborn 1            
                      
                                                         
                      
Input File: downl.doc                                    
                        
                                                         
                      
Confirm errors by hitting return (j/n) j                 
                      
                                                         
                      
Error file downl.err already exists. Overwrite? (J/N) j  
                        
                                                         
                      
Message file downl.msg already exists. Overwrite (J/N) j 
                        
Now the program will ask for the record and the field separator. The best thing to fill in is the # sign CDS/ISIS normally uses. After this, the program displays some of the parameters you have defined in the specification file. Then it warns you that it may crash due to an error in the specification file... The whole screen looks like this:

              Conversion of bibliographic data Version 1.3          
              ============================================             
        
                                                         
                      
 Copyright   GTZ GmbH, Information und Dokumentation     
                      
 (1990)      Postfach 5180, D-6236 Eschborn 1            
                      
                                                         
                      
Input File: downl.doc                                    
                        
                                                         
                      
Confirm errors by hitting return (j/n) j                 
                      
                                                         
                      
Error file downl.err already exists. Overwrite? (J/N) j  
                        
                                                         
                      
Message file downl.msg already exists. Overwrite (J/N) j 
                        
output file type: ISO                                    
                    
_____________________________________________________________   
              
|            Conversion into ISO2709-Format                 |   
_____________________________________________________________                 
   
              
 Field separator: #                                      
                      
Record separator: #                                      
                      
maximum record length: 5000                              
                      
line end in input file: CR LF                            
                      
line end will be replaced by Blank                       
                      
ISO Spezifikationen: 0245                                
                      
first line of .CMD file read                             
                      
String identifying start of entry ->TI:<-                
                      
  
if the programm crashes at this point, you probably will have to change the line end specification in the .CMD file
Continue (j/n)
The second screen briefly displays a part of the first record. If the conversion is succesfull you will see this message:
  All entries processed.                                 
                      
                                                         
                      
  Conversion of another file (j/n) ? 
Now you can start a new conversion or you can stop.

5. Pitfalls

The program does not allow delimeters for repeatable fields longer than one character. An input file containing this kind of author field cannot be converted successfully:
  AU: P. Jones and L. Smith
You cannot fill in the field description this way:
  FAU:
  0030200Rand0100200
Normally the program gives clear error messages:
  downl.cmd: Field specification incomplete -> 002             
                    
 
  Hit Return to quit                                           
  
or
  downl.cmd: First Line in error. Specification incomplete -> 5000CLB0245           
                                                               
                
  Hit Return to quit                                           
  
But in some cases, it may be very difficult to detect a specific error in the conversion table. In the worst case the conversion will stop; you will then try to correct the conversion table. If you do not see the error, you will be doing this over and over again. The only solution will probably be to test one field specification after another, which can take a lot of time. The conversion will stop each time because the last field is too long (as, in fact, the program assumes that it is the rest of the record).

The program will accept certain errors in the conversion table, which leads to an incorrect conversion. If we want to convert:

  SO: Library news; 51 (3-4) July-Dec 75, 134-140. 5 illus. 3 refs
into a field number 4, containing this subfields:
  Library news^b51^c3-4^dJuly-Dec 75^e134-140^f 5 illus^f 3 refs
(Only the first subfield and subfields ^b, ^c, ^d and ^e are of any importance; the subfields ^f will be rejected while importing the ISO 2709 file into the database by means of a FST.)

To accomplish this we can use this field description:

  FSO:
  0040200
  CHA '; ' '^b'
  CHA '(' '^c'
  CHA ') ' '^d'
  CHA ', ' '^e'
  CHA '.' '^f'
If we forget the closing brackets, e.g. in the first CHA-line:
  CHA ';' '^b
the program will accept the specifications without any warning, but the conversion will not be correct. We would get this:
  Library news51
etc.

Make sure the program and the input file are in the same (sub)directory. KNVRT131 does not support path statements. If you try to convert a file in another (sub)directory you will get an error message:

              Conversion of bibliographic data Version 1.3               
              ============================================             
        
                                                         
                      
 Copyright   GTZ GmbH, Information und Dokumentation     
                      
 (1990)      Postfach 5180, D-6236 Eschborn 1            
                      
                                                         
                      
Input File: a:downl.doc                                  
                        
                                                         
                      
Error inputting file name:                               
                      
                                                         
                      
File names may be up to 8 characters long.               
                      
 They may not contain special characters.                
                      
 An Extension may be up to 3 characters long.            
                      
 .TXT    is assumed as default

Input File:   
Now, if you try to get out of this situation by hitting <return> or <Esc>, you will get more and more of these error messages:
File names may be up to 8 characters long.               
                      
 They may not contain special characters.                
                      
 An Extension may be up to 3 characters long.            
                      
 .TXT    is assumed as default                           
                      
                                                         
                      
Input File:                                              
                      
                                                         
                      
Error inputting file name:                               
                      
                                                         
                      
File names may be up to 8 characters long.               
                      
 They may not contain special characters.                
                      
 An Extension may be up to 3 characters long.            
                      
 .TXT    is assumed as default                           
                      
                                                         
                      
Input File:                                              
                      
                                                         
                      
Error inputting file name:                               
                      
   
                                                               
             
File names may be up to 8 characters long.               
                      
 They may not contain special characters.                
                      
 An Extension may be up to 3 characters long.            
                      
 .TXT    is assumed as default                           
      
The only way to get out of this situation is to use <Ctrl><Break> or another drastic key combination.

6. Recommendations

KNVRT131 is only suitable for certain kinds of downloads. Especially repeated field delimeters may cause problems, if they are longer than one character. In that case do not use KNVRT131, but Fangorn.

KNVRT131 may be better if you have to change a lot of strings in the input file, although I could not detect the limits of the program in this. As goes for most conversion programs, KNVRT131 allows you to specify the tags of your target database. It may be better to use tags which reflect the order of the input file. You can change this into the appropriate tag number by means of a FST which you will use to import the ISO2709 file in your test database.


© Piet de Keyser, 1998

Piet de Keyser's Manual Collection