The export routine were named according to a naming convention exactly to avoid to maintain global dictionaries.
In particular here you could remove the dictionaries EXPORTERS and XML_EXPORTERS and just use

export_fn = globals()['export_%s_%s' % (output.output_type, export_type)]

This approach forces people to use the right names for the export functions, by leaving no room for the fantasy.