以下の例の中では次の定義が使用されています。
D employee DS QUALIFIED
D name 10A VARYING
D type 10A
D empInfo3 DS QUALIFIED
D emp LIKEDS(employee)
D DIM(3)
D empInfo2 DS QUALIFIED
D emp LIKEDS(employee)
D DIM(2)
D empInfo4 DS QUALIFIED
D emp LIKEDS(employee)
D DIM(4)
ファイル
emp.xml に以下の行が含まれていると想定します。
<employees>
<emp><name>Jack</name><type>Normal</type></emp>
<emp><name>Mary</name><type>Manager</type></emp>
<emp><name>Sally</name><type>Normal</type></emp>
</employees>
- empInfo3 データ構造には、3 つの要素を持つ配列 emp が
あります。XML 文書にも 3 つの emp XML 要素があるため、
allowmissing オプションは必要ありません。XML 文書がデータ構造と完全に一致するため、デフォルト
の allowmissing=no を使用できます。
xml-into empInfo3 %XML('emp.xml' :
'doc=file path=employees');
// empInfo3.emp(1) .name = 'Jack' .type = 'Normal'
// empInfo3.emp(2) .name = 'Mary' .type = 'Manager'
// empInfo3.emp(3) .name = 'Sally' .type = 'Normal'
- それでも、オプション allowmissing=no を指定してもかまいません。
xml-into empInfo3 %XML('emp.xml' :
'doc=file ' +
'allowmissing=no path=employees');
// empInfo3.emp(1) .name = 'Jack' .type = 'Normal'
// empInfo3.emp(2) .name = 'Mary' .type = 'Manager'
// empInfo3.emp(3) .name = 'Sally' .type = 'Normal'
- XML 文書には 3 つの emp XML 要素しかなく、
RPG emp 配列には 4 つの要素があるため、
データ構造 empInfo4 にはオプション allowmissing=yes を指定する必要があります。
xml-into empInfo4
%XML('emp.xml' : 'doc=file ' +
'allowmissing=yes path=employees');
// empInfo4.emp(1) .name = 'Jack' .type = 'Normal '
// empInfo4.emp(2) .name = 'Mary' .type = 'Manager '
// empInfo4.emp(3) .name = 'Sally' .type = 'Normal '
// empInfo4.emp(4) .name = '' .type = ' '
- データ構造 empInfo4 に対してオプション allowmissing が指定されていません。
RPG 配列に対して十分な数の emp XML 要素が XML 文書に
含まれていないため、XML-INTO 命令は状況コード 00353 で失敗します。
xml-into(e) empInfo4 %XML('emp.xml' :
'doc=file path=employees');
// %error = *on
// %status = 353