COBOL2002 XML連携機能ガイド


7.2.3 +繰り返しを持つ選択要素

選択する要素に+繰り返し付きの要素がある場合,次の設定で+繰り返し付きの要素を出力しないようにできます。

DTDの条件

設定方法

countVar指定なし

countVar="yes"

+繰り返し付き要素のcountVarの値に0を設定する。

countVar="no"

accessInfo="no"

すべての繰り返し項目にemptyValue値を設定する。

countVar="no"

accessInfo="yes"

すべての繰り返し項目にCBLXML-FLAG-MISSINGを設定する。

(DTDの例)
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE root [
  <!ELEMENT root (item1 | item2+ )>
  <!ELEMENT item1  (#PCDATA)>
  <!ELEMENT item2  (#PCDATA)>
]>
<root/>
(DDFの例)
<?xml version="1.0" encoding="Shift_JIS"?>
<Interface interfaceName="EXAMPLE">
 <BaseElement elemName="root">
  <Group elemName="root">
   <Item elemName="item1" size="10"/>
   <Array max="2">
    <Item elemName="item2" size="10"/>
   </Array>
  </Group>
 </BaseElement>
</Interface>
(生成されるCOBOLデータ項目)
01 root.
 02 item1 PIC X(10).
 02 item2 PIC X(10) OCCURS 2.
 02 item2-COUNT PIC 9(9) USAGE COMP.
(COBOLプログラムのコーディング例)
       :
    MOVE 0 TO item2-COUNT.        …1.
    MOVE 'data1' TO item1.
    CALL 'CBLXML-WR-EXAMPLE-root'
        USING XML-POINTER   root
        RETURNING CBLXML-RETURN-CODE.
      :
(説明)
  1. item2を出力しないように繰り返し数0を設定してください。