COBOL2002 XML連携機能ガイド
Interface要素は,COBOLプログラムとXMLとを対応づけるインタフェースを宣言する要素です。Interface要素を定義すると,XMLドキュメントにアクセスするためのCOBOL副プログラム(XMLアクセスルーチン)や登録集原文(XMLアクセス用データ定義)などのインタフェースが対応して生成されます。
Interface要素は,ドキュメントのルート(最上位の要素)としてDDL中に1回だけ記述できます。また,子要素として一つ以上のBaseElement要素を持つ必要があります。
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE table [ <!ELEMENT table (person)*> <!ELEMENT person (name, address)> <!ELEMENT name (#PCDATA)> <!ELEMENT address (#PCDATA)> ]> <table/>
<?xml version="1.0" encoding="Shift_JIS"?>
<Interface interfaceName="EXAMPLE">
<BaseElement elemName="person">
<Group elemName="person">
<Item elemName="name" cobName="FULLNAME"
type="alphanumeric" size="30"/>
<Item elemName="address" cobName="FULLADDRESS"
type="alphanumeric" size="120"/>
</Group>
</BaseElement>
</Interface>01 person. 02 FULLNAME PIC X(30). 02 FULLADDRESS PIC X(120).
:
CALL 'CBLXML-OP-EXAMPLE'
USING XML-FILE-NAME-POINTER XML-FILE-LENGTH
XML-FILE-MODE XML-POINTER
RETURNING CBLXML-RETURN-CODE.
:<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE root [ <!ELEMENT root (item01, item02)> <!ELEMENT item01 (#PCDATA)> <!ELEMENT item02 (itema, itemb)*> <!ELEMENT itema (#PCDATA)> <!ELEMENT itemb (#PCDATA)> ]> <root/>
<?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="item02">
<Item elemName="itema"
type="alphanumeric" size="10" />
<Item elemName="itemb"
type="alphanumeric" size="10" />
</Group>
</Array>
</Group>
</BaseElement>
</Interface> 01 root-BASE.
02 root.
03 item01 PIC X(10).
03 item02 OCCURS 10.
04 itema PIC X(10).
04 itemb PIC X(10).
* Access Information
02 root-GROUP.
03 item01-FLG PIC 1(32) USAGE BIT.
03 item01-LEN PIC 9(9) COMP.
03 item02-TOTAL PIC 9(9) COMP.
03 item02-COUNT PIC 9(9) COMP.
03 item02-GROUP OCCURS 10.
04 itema-FLG PIC 1(32) USAGE BIT.
04 itema-LEN PIC 9(9) COMP.
04 itemb-FLG PIC 1(32) USAGE BIT.
04 itemb-LEN PIC 9(9) COMP.
All Rights Reserved. Copyright (C) 2017, 2019, Hitachi, Ltd.