OEL exchange schema definition
OEL (object exchange language) is a predecessor of OIF and rather similar to it. OEL is supported for compatibility reasons, only. Normally, it is suggested using OIF rather than OEL.
In contrast to OIF, OEL does not support locators. Thus, links to other object instances can be provided by key attributes, only, which is supported by exporting data. Thus, OEL is sufficient for importing data but will not work properly for exporting data in many cases.
Similar to OIF, OEL files may contain an exchange schema definition in order to provide self-contained OIF files.
The BNF describes the common structure of an OEL file. The OEL file might be preceded by an exchange schema definition, which must start with the SCHEMA keyword. The details for schema definitions are described in OSI language reference.
The example below shows a complete definition for a Person data exchange schema.
SCHEMA {
STRUCT XAddress {
STRING f_zip SOURCE(zip);
STRING f_city SOURCE(city);
STRING f_street SOURCE(street);
STRING f_number SOURCE(number);
};
STRUCT XPerson {
ATTRIBUTE {
STRING f_pid SOURCE(pid);
STRING f_name SOURCE(name);
STRING f_first_name SOURCE(first_name);
STRING f_birth_data SOURCE(birth_date);
STRING f_sex SOURCE(sex);
STRING f_married SOURCE(married);
STRING f_income SOURCE(income);
};
REFERENCE XAddress f_location[3] SOURCE(location);
};
};
OEL := [ schema_dcl ] OELData
// ... OIFData definition
// bnf references
odl_symbols ::= class(OSI)
schema_dcl ::= ref(schema_dcl)
Traditionally, OEL has been using for importing data from MS Word documents. Hence, OEL is still supported in order to keep old import functions running. In any case, OIF is the better choice and should be used instead.