COBOL2002 XML連携機能ガイド


3.1 入出力データ情報定義機能の使用方法

入出力データ情報定義機能を使用すると,入力したXML要素や属性の入力状態を取得できます。また,XML要素の出力状態を設定することもできます。

使用方法

Interface要素の下位のすべての要素で入出力データ情報定義機能を使用する場合は,Interface要素のaccessInfo属性に"yes"を指定します。また,BaseElement要素ごとに入出力データ情報定義機能を使用するかどうかを指定する場合は,BaseElement要素のaccessInfo属性に"yes"または"no"を指定します。

Interface要素のaccessInfo属性の指定例については「2.3.1(2) accessInfo属性」を,BaseElement要素のaccessInfo属性の指定例については「2.3.2(3) accessInfo属性」を参照してください。

入出力データ情報定義機能を使用した場合の生成例を次に示します。

(DTDの例)
<?xml version="1.0" encoding="Shift_JIS"?>
<!DOCTYPE root [
  <!ELEMENT root (item01, group01)>
  <!ELEMENT item01  (#PCDATA)>
  <!ELEMENT group01 (item02, item03)*>
  <!ELEMENT item02  (#PCDATA)>
  <!ELEMENT item03  (#PCDATA)>
]>
<root/>
(DDFの例)
<?xml version="1.0" encoding="Shift_JIS"?>
<Interface interfaceName="EXAMPLE"
    accessInfo="yes">
  <BaseElement elemName="root">
    <Group cobName="root">
      <Item elemName="item01" 
            type="alphanumeric" size="10" />
      <Array max="10">
        <Group cobName="group01">
          <Item elemName="item02"
                type="alphanumeric" size="10" />
          <Item elemName="item03"
                type="alphanumeric" size="10" />
        </Group>
      </Array>
    </Group>
  </BaseElement>
</Interface>
(生成されるCOBOLデータ項目)
 01 root-BASE.       …1.
  02 root.            …2.
   03 item01 PIC X(10).
   03 group01 OCCURS 10.
    04 item02 PIC X(10).
    04 item03 PIC X(10).
* Access Information              …3.
  02 root-FLG PIC 1(32) USAGE BIT. 
  02 root-GROUP.
   03 item01-FLG PIC 1(32) USAGE BIT.
   03 item01-LEN PIC 9(9) COMP.
   03 group01-TOTAL PIC 9(9) COMP.
   03 group01-COUNT PIC 9(9) COMP.
   03 group01-GROUP OCCURS 10.
    04 item02-FLG PIC 1(32) USAGE BIT.
    04 item02-LEN PIC 9(9) COMP.
    04 item03-FLG PIC 1(32) USAGE BIT.
    04 item03-LEN PIC 9(9) COMP.
(XMLアクセスルーチンを呼び出すCOBOLプログラム)
         :
    CALL 'CBLXML-WR-EXAMPLE-root'
         USING XML-POINTER root-BASE        …4.
        RETURNING CBLXML-RETURN-CODE.
         :
(説明)
  1. 入出力データ情報定義機能使用時の先頭集団項目名を表します。アクセスルーチンの引数に指定します。

  2. 入出力するXML要素や属性に対応したデータ項目です。この例では,集団項目「root」と「root」に含まれる下位項目が対応したデータ項目となります。

  3. コメント行* Access Information以降は,入出力するXML要素に対応した入出力データ情報項目となります。

  4. XMLアクセス用データ定義を指定します。