The point that I am missing is why we cannot just skip the XML generation for outputs without XML export functions, and export them in csv instead? I mean implement something like

  try:
     export in xml
   except:
        export in csv

Or we could pass a list of preferred formats, say 'xml', 'csv', 'geojson' and export the first format for which there are available export functions.