Используя набор символов UNOA (синтаксис уровня A), AAA?BBB
недопустим EDIFACT.
Если бы я писал парсер с нуля, я бы пометил его как синтаксическую ошибку и допустил бы одно или более из следующего:
- разрешить продолжить обработку сообщения с предупреждением и обработать его как полученное (ie.
AAA?BBB
) - при условии, что отправитель намеревался отправить AAA??BBB
- отклонить сообщение и отправить отправителю отрицательное сообщение CONTRL и / или APERAK, указав местоположение и тип возникшей ошибки.
Но я не пишу парсер с нуля - и я не уверен, как наиболее часто используемые парсеры (например, Smooks для Java, боты для Python, все, что находится внутри Biztalk и Azure Logi c Apps) будут обрабатывать этот ввод. Я предполагаю, что некоторые не будут выдавать ошибку и будут выводить как "AAABB"
, "AAABBB"
, "AAA?BBB"
или даже ""
.