Description
An SDF file is a text file, where each object occupies one line. Empty lines are ignored. The structure of a User Object is similar to a CSV file; in SDF, the values are separated by a semicolon. Below is the schematic description is a real-world example.
[enum;
]surname;firstname;bday;pvgrp
(* one-line comment *)
# new-style comment
1;Engelhardt;Jan;12.3.45;Grade 13;
The different fields are:
- enumeration number
this value is generally unused. It is usually an enumeration number within the pvgrp. Some SDF export programs do not provide this field at all. - surname
- firstname
- bday -- birth date
A UUID is built from the name and this date to uniquely identify the user within the Data Source. Formats accepted are DD.MM.YY, DD.MM.YYYY, MM/DD/YYYY and YYYY-MM-DD. - pvgrp -- private group descriptor
This can be anything you want, and is commonly used for school classes. It will only ever be used for password printing in user interfaces, or for custom applications that use it.
Comments
Comments are Pascal-style or similar to shell and C, as shown
in the syntax above, they either begin with a hash mark in the first column, or
start with (*
and end with *)
. Both comment
types only last for the particular line. The hash-mark style comment may be
unsupported within Kolleg. Comments can only begin in the first column.
Portability issues
The only application I know that exports SDF files is "Kolleg" (a secretary program for German schools). It is a DOS/16 program and thus exports in CP437 encoding and CRLF mode. Since it is just like CSV format, there is no indication of what fields describe what. If the SDF created by your Kolleg program varies from the spec above, you need to change the parser to properly recognize it, or contact the Vitalnix Project.
StarOffice also seems to export something with the
.sdf
extension, but it is not related!
Naming
I think SDF stands for "Schülerdatenformat".