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) 2003, 2016, Hitachi, Ltd.