For the conversion of the BDF to EDF file format, we use EEGLAB (file->export->select the desired file format). However, you can also convert with the EDFbrowser. Keep in mind that SMARTING EEG data are sampled with 24 bits accuracy, and the EDF data format accuracy is 16 bits, so some loss in the data quality is lost during this conversion.
The XDF conversion to either BDF or EDF is a bit more complicated and up to our knowledge, there is currently no tool available (especially if you have the event stream in the XDF, this is even more challenging).
So, you can also try using the EEGLAB, but please note that the XDF file should be loaded in the EEGLAB with the nominal sampling rate, to avoid problems and also, if the file contains markers this will not be optimally converted (the names of the markers will be converted to numbers due to the limitations of the EDF/BDF file format, which could cause some troubles during the data processing). The temporal accuracy of the triggers will also be decreased.