Data Sources

The old ML3 data sources are supported, plus a new CSV type has been added.

The general format for the data source description block is:

<DS-Name> "<Filename>".
<DS-Name> "<Filename>" Schluessel <key-field-list>.
<DS-Name> "<Filename>" <Args>.


  • DS-Name (Identifier) is the name that will be used to identify the datasource.
  • Filename (Filename) is the (virtual) file name that this datasource refers to. Multiple data sources can refer to the same filename; those will share some properties (file position, and sometimes keys).
  • After Schluessel, a comma-separated list of field names must be listed. Those will be used as positioning keys for database-backed data sources.
  • Args expands to:

Extern Extern Encoding “<Encoding>” Basic Basic Encoding “<Encoding>” CSV CSV Format “<Sep>” “<Dec>” CSV Format “<Sep>” “<Dec>” Encoding “<Encoding>” Zurueck


  • Extern marks the datasource as an ML3 Text data source.
  • Basic marks the datasource as an ML3 version of a CSV file.
  • CSV marks the datasource as a standard (RFC4180) CSV file.
  • After Format, two strings have to be specified which define the field separator and decimal point (Sep and Dec, respectively) for CSV files. For a standard CSV files, Sep defaults to , (a single comma) and Dec defaults to . (a single dot).
  • After Encoding an encoding can be specified for text-based data sources. The default is utf-8.
  • Zurueck marks database backed data sources as being read in reverse.


The CSV data source implements an RFC4180 compatible text reader and writer.

It can be modified to use other separator and decimal point characters by specifying CSV Format ";" "." (an example for a typical European CSV file).

Values of array fields are joined together with no separator. This may or may not be useful, depending on your application.


The Basic data source implements a non-standard text reader and writer, partially resembling CSV files with standard separator and decimal point characters.

Array fields are not supported.