The questions there don't have answers, just the questions and possable answers. The answers are generated by people who might get some of them wrong. The answer pool of the older test has been checked against several publications to ensure they are correct. The newer tests has not been checked at all as far as I know.
3001|B|With respect to the certification of airmen, which is a category of aircraft?|Gyroplane, helicopter, airship, free balloon.|Airplane, rotorcraft, glider, lighter-than-air.|Single-engine land and sea, multi-engine land and sea.|Reason for A being wrong goes here.|B is correct|Do you have class an category confused?In this case the question number is 3001. It needs not be a number but it makes things nice and neat. I suspect that it will get prefixed by a letter when I add other tests.
Next comes the answer. This can contain the letter X if the correct answer is not known. This must be in upper case and must be one of A,B,C or X.
The question comes next. This can contain some formatting commands such as \n for line break. It can also contain (Refer to Figure 1.) in which case figure 1 will be replaced to a link to a figure or if the figure is simple text, it will be included at the bottom of the screen. The text of this is quite picky because the script isn't too smart. Look at the current test questions for more examples.
The Answers come next. They are in the order A,B and then C
Following the answers comes text that gives hints if the question is correct. Since no one seems to have implemented this yet, my code is different than others. Others feel that the first field is the hint for the correct answer and the second and third are for the the first and second wrong answer. This makes the program a bit too complex so I went with the idea that the first field is for answer A, the second for answer B, etc. My solution works if no correct answer is given as well as follows the answer fields better. I also wrote my code before I found out why the data fields had three empty fields.
After this comes currently unused additional fields. My plan is to use them for making the test better at question selection.