What is fXML?
Frustrated with the current state of fencing tournament software file formats, I have decided to design what I hope will become an open standard to exchange information pertaining to the fencing world. This standard is based on XML, and therefore I have decided to call it fXML, which stands for "fencing XML". The most current DTD is available on this site.
This file format is supposed to handle everything fencing related; from full competition results, to individual bout results, referee lists, full pool results, competition announcements, fencers lists, registration lists, seeding lists, etc.
It is currently in alpha phase, which means that the spec is likely to change quite a bit as I find new features that need to be added and better ways to handle the current features it supports. So feel free to take a peek at the DTD, and discuss possible implementation strategies in the mailing list dedicated to it.
If you want to update your software so that it natively supports fXML, please contact me. There is some code in the CVS repository for FenceDB that your application can use to do so. Currently the only language for which there is a library is Java. However, once fXML becomes more stable, I will provide libraries for Visual Basic, Delphi, and other languages if needed.
What does this mean for FenceDB?
Basically, FenceDB only supports fXML. Results, etc. will be submitted to FenceDB only in fXML format. Of course, since only supporting the fXML format right now would mean that FenceDB would not receive any results, I have implemented some filters that will preprocess files in other formats and convert them to fXML. For the people submitting results, this will be transparent: they will submit for example a zip file containing EnGarde results, and will believe that FenceDB natively supports EnGarde files. However, what really happens behind the scenes is that these files are first converted to fXML before being submitted to FenceDB.