在 xml 输出中使用保留的 cobol 名称
Using reserved cobol names in xml output
我正在做一个项目,我将从磁盘读取一个由 cobol 大型机系统创建的 xml 文件。我想要这个 xml 文件中的特定命名结构,如下所示:
<Orders>
<Order>
<Data>
...
</Data>
</Order>
<Order>
<Data>
...
</Data>
</Order>
<Order>
<Data>
...
</Data>
</Order>
</Orders>
我从我的 cobol 开发人员那里了解到这个命名结构的问题是 "Order" 和 "Data" 是 cobol 中的保留名称,所以他说他们不能使用。真的是这样吗?或者有人可以指出我们的 xml 输出可以是我们在 cobol 创建 xml 文件时想要的任何东西的方向吗?
IBM Enterprise COBOL 有一个 XML GENERATE 语句,用于从 COBOL 数据结构生成 XML。默认情况下,生成的标签名称是结构中数据项的名称。数据项的名称不能是 COBOL 保留字。
自 IBM Enterprise COBOL 版本 5 起,有一种机制可以为数据项生成标签名称,这些数据项不是数据项的名称。它是 XML GENERATE 语句的 NAME 短语。
看起来像这样的结构...
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 编译器尚未升级到支持 XML GENERATE 的 NAME 短语的版本。最后一个这样的版本是 4.2,它在 30-Apr-2022.
停止服务
我正在做一个项目,我将从磁盘读取一个由 cobol 大型机系统创建的 xml 文件。我想要这个 xml 文件中的特定命名结构,如下所示:
<Orders>
<Order>
<Data>
...
</Data>
</Order>
<Order>
<Data>
...
</Data>
</Order>
<Order>
<Data>
...
</Data>
</Order>
</Orders>
我从我的 cobol 开发人员那里了解到这个命名结构的问题是 "Order" 和 "Data" 是 cobol 中的保留名称,所以他说他们不能使用。真的是这样吗?或者有人可以指出我们的 xml 输出可以是我们在 cobol 创建 xml 文件时想要的任何东西的方向吗?
IBM Enterprise COBOL 有一个 XML GENERATE 语句,用于从 COBOL 数据结构生成 XML。默认情况下,生成的标签名称是结构中数据项的名称。数据项的名称不能是 COBOL 保留字。
自 IBM Enterprise COBOL 版本 5 起,有一种机制可以为数据项生成标签名称,这些数据项不是数据项的名称。它是 XML GENERATE 语句的 NAME 短语。
看起来像这样的结构...
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 编译器尚未升级到支持 XML GENERATE 的 NAME 短语的版本。最后一个这样的版本是 4.2,它在 30-Apr-2022.
停止服务