COBOL2002 XML連携機能ガイド
Array要素は,繰り返し要素をOCCURS句を持つCOBOLデータ項目に対応づける要素です。
Array要素は,子要素としてGroup要素,Item要素,またはAttrItem要素のどれかを持ちます。
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE book [ <!ELEMENT book (chapter)*> <!ELEMENT chapter (paragraph)*> <!ELEMENT paragraph (sentence)*> <!ELEMENT sentence (#PCDATA)> ]> <book/>
<?xml version="1.0" encoding="Shift_JIS"?> <Interface interfaceName="EXAMPLE"> <BaseElement elemName="paragraph"> <Group cobName="paragraph"> <Array max="20"> <Item elemName="sentence" cobName="a-sentence" type="alphanumeric" size="1000"/> </Array> </Group> </BaseElement> </Interface>
01 paragraph. 02 a-sentence PIC X(1000) OCCURS 20. 02 a-sentence-COUNT PIC 9(9) USAGE COMP.
表2-10 余ったCOBOLデータ項目の値
Array要素のに対するcountVar属性の指定 | 余ったCOBOLデータ項目の値 |
---|---|
countVar="yes"またはcountVarを指定していない | 不定となる |
countVar="no" | emptyValue属性値を設定する |
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE table1 [ <!ELEMENT table1 (row)*> <!ELEMENT row (item1?,item2?)> <!ELEMENT item1 (#PCDATA)> <!ELEMENT item2 (#PCDATA)> ]> <table1/>
<?xml version="1.0" encoding="Shift_JIS"?> <Interface interfaceName="EXAMPLE"> <BaseElement elemName="table1"> <Group cobName="table1"> <Array max="100"> <Group elemName="row"> <Item elemName="item1" type="alphanumeric" size="10"/> <Item elemName="item2" type="alphanumeric" size="10"/> </Group> </Array> </Group> </BaseElement> </Interface>
01 table1. 02 row OCCURS 100. 03 item1 PIC X(10). 03 item2 PIC X(10). 02 row-COUNT PIC 9(9) USAGE COMP.
<?xml version="1.0" encoding="Shift_JIS"?> <table1> <row> <item2/> </row> <row> </row> <row> <item1/> </row> </table1>
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE table1 [ <!ELEMENT table1 (row)*> <!ELEMENT row (item1?,item2?)> <!ELEMENT item1 (#PCDATA)> <!ELEMENT item2 (#PCDATA)> ]> <table1/>
<?xml version="1.0" encoding="Shift_JIS"?> <Interface interfaceName="EXAMPLE"> <BaseElement elemName="table1"> <Group cobName="table1"> <Array max="100"> <Group cobName="row"> <Item elemName="item1" type="alphanumeric" size="10"/> <Item elemName="item2" type="alphanumeric" size="10"/> </Group> </Array> </Group> </BaseElement> </Interface>
01 table1. 02 row OCCURS 100. 03 item1 PIC X(10). 03 item2 PIC X(10). 02 row-COUNT PIC 9(9) USAGE COMP.
<?xml version="1.0" encoding="Shift_JIS"?> <table1> <row> <item2/> </row> <row> </row> <row> <item1/> </row> </table1>
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE book [ <!ELEMENT book (chapter)*> <!ELEMENT chapter (paragraph)*> <!ELEMENT paragraph (sentence)*> <!ELEMENT sentence (#PCDATA)> ]> <book/>
<?xml version="1.0" encoding="Shift_JIS"?> <Interface interfaceName="EXAMPLE"> <BaseElement elemName="paragraph"> <Group cobName="paragraph"> <Array max="20" nameOfCountVar="NumSentences"> <Item elemName="sentence" cobName="a-sentence" type="alphanumeric" size="1000"/> </Array> </Group> </BaseElement> </Interface>
01 paragraph. 02 a-sentence PIC X(1000) OCCURS 20. 02 NumSentences PIC 9(9) USAGE COMP.
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE root [ <!ELEMENT root ((group1*, item1)*)> <!ELEMENT group1 (item2?)> <!ELEMENT item1 (#PCDATA)> <!ELEMENT item2 (#PCDATA)> ]> <root/>
<?xml version="1.0" encoding="Shift_JIS"?> <Interface interfaceName="EXAMPLE"> <BaseElement elemName="root" cobName="BE"> <Group elemName="root"> <Array max="4"> <Group cobName="grp0"> <Array max="4"> <Group elemName="group1"> <Item elemName="item2"/> </Group> </Array> </Group> </Array> </Group> </BaseElement> </Interface>
01 root. 02 grp0 OCCURS 4. 03 group1 OCCURS 4. 04 item2 PIC X(100). 03 group1-COUNT PIC 9(9) USAGE COMP. 02 grp0-COUNT PIC 9(9) USAGE COMP.
<?xml version="1.0" encoding="Shift_JIS"?> <root> <group1> <item2>item2a1</item2> </group1> <group1> <item2>item2a2</item2> </group1> <group1> <item2>item2a3</item2> </group1> <group1> <item2>item2a4</item2> </group1> <item1/> <group1> <item2>item2b1</item2> </group1> <group1> <item2>item2b2</item2> </group1> <group1> <item2>item2b3</item2> </group1> <group1> <item2>item2b4</item2> </group1> <item1/> </root>
入出力データ情報定義機能を使用した場合のnameOfCountVar属性の指定例については,「3.2.4(1) nameOfTotalVar属性とnameOfCountVar属性の指定例」を参照してください。
入出力データ情報定義機能を使用した場合のnameOfTotalVar属性の指定例については,「3.2.4(1) nameOfTotalVar属性とnameOfCountVar属性の指定例」を参照してください。
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE book [ <!ELEMENT book (chapter)*> <!ELEMENT chapter (paragraph)*> <!ELEMENT paragraph (sentence)*> <!ELEMENT sentence (#PCDATA)> ]> <book/>
<?xml version="1.0" encoding="Shift_JIS"?> <Interface interfaceName="EXAMPLE"> <BaseElement elemName="paragraph"> <Group cobName="paragraph"> <Array max="5" countVar="no"> <Item elemName="sentence" cobName="a-sentence" type="alphanumeric" size="100" emptyValue="SPACE"/> </Array> </Group> </BaseElement> </Interface>
01 paragraph. 02 a-sentence PIC X(100) OCCURS 5.
MOVE "This is sentence 1." TO a-sentence(1). MOVE SPACE TO a-sentence(2). MOVE "This is sentence 3." TO a-sentence(3). MOVE SPACE TO a-sentence(4). MOVE SPACE TO a-sentence(5).
<?xml version="1.0" encoding="Shift_JIS"?> <book> <chapter> <paragraph> <sentence>This is sentence 1.</sentence> <sentence>This is sentence 3.</sentence> </paragraph> </chapter> </book>
<?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="table"> <Group cobName="table1"> <Array max="3" countVar="no"> <Group elemName="person"> <Item elemName="name" cobName="name1" emptyValue="SPACE"/> <Item elemName="address" cobName="address1" emptyValue="SPACE"/> </Group> </Array> </Group> </BaseElement> </Interface>
01 table1. 02 person OCCURS 3. 03 name1 PIC X(100). 03 address1 PIC X(100).
MOVE 'name-1' TO name1(1). MOVE 'address-1' TO address1(1). MOVE SPACE TO name1(2). MOVE SPACE TO address1(2). MOVE 'name-3' TO name1(3). MOVE SPACE TO address1(3).
<?xml version="1.0" encoding="Shift_JIS"?> <table> <person> <name>name-1</name> <address>address-1</address> </person> <person> <name>name-3</name> </person> </table>
All Rights Reserved. Copyright (C) 2003, 2016, Hitachi, Ltd.