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) 2017, 2019, Hitachi, Ltd.