Well, I've got a very basic parser running. A "Doctrine" module that sets up the field types and relations, a generic tag parser, a top-level message-to-string/string-to-message interface... and a lot of duct tape.
I shall probably be changing to the 4.2/later basic field types, they appear to be more specific than the 4.0 types (e.g. Qty can be an integer or a float, rather than just a float which should be an integer if referring to countable items; String and Char as separate types), assuming this won't break compatibility.
Repeating groups will cause some slight difficulty, but I think I've got a solution that handles them well... even for the arbitrarily-repeated 46 (related symbol) and repeated-group-within-a-repeated-group 92 (broker of credit) tags.
The most irritating thing, however, is the complete lack of a simple verification test for the checksum. The 4.1 examples on the site acknowledge this, the 4.2 examples on the Wikipedia page and in the 5.0SP1 spec do not. One even claims a body length (tag 9) of 67 when it's closer to 220!
So, yes, clearly some basic test data would be a Good Thing. I shall provide some.
And the code? Java (J2SE) 1.5, and it'll be available here for free next week. Still a lot more to write!
