COBOL2002 XML連携機能ガイド


3.3.4 Array要素

入出力データ情報定義機能を使用した場合,繰り返し項目に対応した繰り返し全要素数と繰り返し入出力数が生成されます。

繰り返し要素が単一(Item要素)の場合,Item要素に対応するアクセス情報フラグとデータ長にOCCURS句が付けられます。繰り返し要素が集団(Group要素)の場合は,Group要素に対応する集団項目にOCCURS句が付けられます。

〈この項の構成〉

(1) 繰り返し要素が単一の場合

(DTDの例)
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE root [
  <!ELEMENT root (item01*)>
  <!ELEMENT item01  (#PCDATA)>
]>
<root/>
(DDFの例)
<?xml version="1.0" encoding="Shift_JIS"?>
<Interface interfaceName="EXAMPLE">
  <BaseElement elemName="root" accessInfo="yes">
    <Group cobName="root">
      <Array max="10">
        <Item elemName="item01" type="alphanumeric"
              size="10" />
      </Array>
    </Group>
  </BaseElement>
</Interface>
(生成されるCOBOLデータ項目)
 01 root-BASE.
  02 root.
   03 item01 PIC X(10) OCCURS 10.
* Access Information
  02 root-GROUP.
   03 item01-TOTAL PIC 9(9) USAGE COMP.
   03 item01-COUNT PIC 9(9) USAGE COMP.
   03 item01-FLG PIC 1(32) USAGE BIT OCCURS 10.
   03 item01-LEN PIC 9(9) USAGE COMP OCCURS 10.

(2) 繰り返し要素が集団の場合

(DTDの例)
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE root [
  <!ELEMENT root (group01*)>
  <!ELEMENT group01 (item01, item02)>
  <!ELEMENT item01  (#PCDATA)>
  <!ELEMENT item02  (#PCDATA)>
]>
<root/>
(DDFの例)
<?xml version="1.0" encoding="Shift_JIS"?>
<Interface interfaceName="EXAMPLE">
  <BaseElement elemName="root" accessInfo="yes">
    <Group cobName="root">
      <Array max="10">
        <Group cobName="group1">
          <Item elemName="item01" type="alphanumeric"
                size="10" />
          <Item elemName="item02" type="alphanumeric"
                size="10" />
        </Group>
      </Array>
    </Group>
  </BaseElement>
</Interface>
(生成されるCOBOLデータ項目)
 01 root-BASE.
  02 root.
   03 group01 OCCURS 10.
    04 item01 PIC X(10).
    04 item02 PIC X(10).
* Access Information
  02 root-GROUP.
   03 group01-TOTAL PIC 9(9) USAGE COMP.
   03 group01-COUNT PIC 9(9) USAGE COMP.
   03 group01-GROUP OCCURS 10.
    04 item01-FLG PIC 1(32) USAGE BIT.
    04 item01-LEN PIC 9(9) USAGE COMP.
    04 item02-FLG PIC 1(32) USAGE BIT.
    04 item02-LEN PIC 9(9) USAGE COMP.