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アクセス用データ定義を指定します。