Developing an Export Converter
Mathematica 8 provides functions that allow developers to implement file format converters to be integrated with the
Mathematica Import and
Export framework. You can implement format converters and use
Export to export data from customized formats.
The interface between
Export and low-level converter functions is specified by (under the context). In essence, tells the
Import and
Export framework how to make various function calls when exporting
Mathematica expressions to a file format.
Mathematica also includes source code for various converts. These are placed in the folders
$InstallationDirectory /SystemFiles/Formats/
format, where
format is one of the following:
BDF ,
DIF ,
MTP ,
SMILES ,
SurferGrid ,
TGF , or
TLE . The registration code can be found in the files Import.m and/or Export.m, and the converter sources reside in the files Converter.m.
Format Registration
An
Export format must first be registered. Note that, unlike registering an
Import format, accepts only one function.
ImportExport`RegisterExport["
format",
function]
register function to be used by the Export framework when exporting a file to the type format
Writing a Converter Function
For this example, imagine a file format that encodes an ASCII string by each character's ASCII code, with each code separated by a single space. A converter function for this format can be added to the
Import and
Export framework using .
When you use
Export , the framework passes both the output file name and the data,
str, to the exporter, so an example exporter function can be written as below.
can now be used in
Export just like any other file format.
Elements and Options for Converter Functions
Unlike
Import , which always imports elements,
Export can directly export an expression (as in the example above) or a list of rules in the form of .
Elements can be designated as options, meaning that they will always be passed to the converter functions along with all other options. Here is a trivial converter to illustrate the handling of elements and options.
Export directly with expressions.
Export via elements.
Export via elements, with options.
Export via elements, with elements registered as options.
Note that by specifying , the elements and are automatically passed as options to the exporters.