company logo

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.

Specification

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);    

  };

};

Definition: 

OEL                   := [ schema_dcl ] OELData

// ... OIFData definition

// bnf references

odl_symbols          ::= class(OSI)

schema_dcl           ::= ref(schema_dcl)

Usage

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.