Я пытаюсь создать XML-файл на COBOL с помощью оператора GENERATE. Все идет нормально. Но с этим конкретным xml он должен содержать отдельный XML-файл внутри. Поэтому я хочу использовать вокруг него тег CDATA. Но есть ли способ сделать это в COBOL с помощью оператора GENERATE?
Вот пример.
01 request.
06 route.
11 name PIC X(030).
11 version PIC 9(004).
06 question.
11 IDENT PIC 9(009).
11 xmlFileName PIC X(006).
11 xmlFileInh PIC X(5000).
xmlFileInh необходимо заполнить другим файлом XML. Это может быть только xml или запрос на мыло.
Что-то вроде этого:
<?xml version="1.0" encoding="UTF-8"?>
<request>
<route>
<name>serviceRequest</name>
<version>1</version>
</route>
<question>
<IDENT>111111111</IDENT>
<xmlFileName>FILE-1</xmlFileName>
<xmlFileInh>
<![CDATA[<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope.....<SOAP-ENV:Envelope]]>
</xmlFileInh>
</question>
</request>
Я попытался нанести СТРОКУ "<![CDATA[" and "]]>"
вокруг входящего XML-файла, а затем поместить его в xmlFileInh. Это что-то делает, но преобразует все управляющие символы HTML в то, что мне не нужно в моем xml-файле. Оператор GENERATE ничего не делает с CDATA.
< becomes <
> becomes >
" becomes "
' becomes '
& becomes &
Я также пытался передать xmlFileInh другую картинку, даже типа XML. Это дает много новых типов тегов в моем XML, длину имени, длину данных и т. Д., Но я не хочу ни одного.
у кого-нибудь есть решение?
Заранее спасибо Martijn.