COBOL2002 XML連携機能ガイド


2.2 データ定義ファイル(DDF)の作成

XMLドキュメントの要素は,データを常に文字列として持っているため,DTDだけではそれぞれの要素がどの種類のCOBOLデータ項目に対応するかわかりません。そのため,XML要素とCOBOLデータ項目とを結び付ける対応情報を定義する必要があります。

データ定義ファイル(DDF)は,XMLドキュメントのDTDで定義されたXML要素のうち,COBOLプログラムからアクセスしたい要素とCOBOLデータ項目との対応づけを記述するファイルです。

[図データ]

DDFでは,データ定義言語(DDL)を使ってXML要素とCOBOLデータ項目とを対応づけます。DDLの記述方法については,「2.3 データ定義言語(DDL)の文法」を参照してください。

DDFの形式

<?xml version="1.0" encoding="Shift_JIS"?>

データ定義言語(DDL)

DTD中の要素「row」の要素「address」に含まれる要素「name」および「age」をCOBOLデータ項目に対応づけるDDFを次に示します。

(DTDの例)
<!DOCTYPE table [
  <!ELEMENT table (row)*>
  <!ELEMENT row (name, address, grade, age)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT address (addr1, addr2, city, state, zip)>
  <!ELEMENT addr1 (#PCDATA)>
  <!ELEMENT addr2 (#PCDATA)>
  <!ELEMENT city (#PCDATA)>
  <!ELEMENT state (#PCDATA)>
  <!ELEMENT zip (#PCDATA)>
  <!ELEMENT grade (#PCDATA)>
  <!ELEMENT age (#PCDATA)> 
]>
<table/>
(DDFの例)
<Interface interfaceName="EXAMPLE">
  <BaseElement elemName="row">
    <Group cobName="row">
      <Item elemName="name" cobName="full-name"
            type="alphanumeric" size="20"/>
      <Item elemName="age" type="numeric"
            size="3"/>
      <Item elemName="city" type="alphanumeric"
            size="30"/>
    </Group>
  </BaseElement>
</Interface>
(生成されるCOBOLデータ項目の例)
01 row.
  02 full-name PIC X(20).
  02 age  PIC 9(3).
  02 city PIC X(30).