YYYY-MM-DDTHH:MM:SS.NNNZ+09:30 How about mentioning that the time stamp must be a fixed length, with leading zeros for padding. This makes parsing and verification much simpler.
For example: time-secfrac SHOULD be 3 digits (milliseconds). Also, if sub second count is not used, it SHOULD be set to 000 rather than making it optional. I think the time should be in local time, with the offset indicating the difference from UTC/GMT. This requires less calculation at the sending side since the time zone is a constant. You can always convert to UTC at the receiving end if you want to. The time offset should be in the format -0100 or +0930 (can you tell I used to live in Adelaide). Alternatively a : could be added in the middle -01:00 or +09:30. The HH:MM should be fixed length and require the use of +/- indicator. My reasons for defining everything as fixed length are to keep the parsing simple and make for easy verification of the messages. The problem with the current 3164 RFC is that the PID can sometimes be missing and it makes it tricky to work out if we are looking at a hostname or PID in the field. Well defined, non optional, fixed length fields will make it very nice to work with. Cheers Andrew