IBM Enterprise COBOL имеет оператор XML GENERATE, который используется для генерации XML из структур данных COBOL. Сгенерированные имена тегов по умолчанию являются именами элементов данных в структуре. Имя элемента данных не может быть зарезервированным словом COBOL.
Начиная с версии 5 IBM Enterprise COBOL существует механизм генерирования имен тегов для элементов данных, которые являются , а не именем элемент данных. Это фраза NAME оператора XML GENERATE.
Структура, которая выглядит следующим образом ...
01 WS-ORDERS.
05 WS-ORDER OCCURS 2.
10 WS-DATA PIC X(4096).
..., обработанная с помощью XML GENERATE, обычно приводит к ...
<WS-ORDERS><WS-ORDER><WS-DATA>...</WS-DATA></WS-ORDER><WS-ORDER><WS-DATA>...</WS-DATA></WS-ORDER></WS-ORDERS>
... но использование фразы NAME ...
XML GENERATE WS-BUFFER FROM WS-ORDERS
NAME WS-ORDERS 'ORDERS'
WS-ORDER 'ORDER'
WS-DATA 'DATA'
END-XML
... должно дать вам то, что ты хочешь. Это просто от руки, но я думаю, что вы можете понять идею.
Возможно, ваш компилятор COBOL не был обновлен до версии, которая поддерживает фразу NAME XML GENERATE. Последняя такая версия - 4.2, которая выходит из строя 30-Sep-2021 .