期待される XML データの形式

XML 要素の構造は、RPG 変数の構造と一致することが必要です。

注:
XML 処理命令は、XML-INTO では無視されます。 処理命令は、
<?targetname data value ?>
の形式です。
スカラー変数
D libname      S             10A
/free
      XML-INTO libname %XML(xmldoc : option)
XML-INTO libname の XML の例 path オプション
<libname>data</libname>
<library>data</library> 'path=library'
<info><library>data</library></info> 'path=info/library'
配列要素
D sites        S             25A   DIM(3)
/free
      XML-INTO sites(n) %XML(xmldoc : option)
XML-INTO sites の XML の例 path オプション
<sites>data</sites> ブランク
<custsites>data</custsites> 'path=custsites'
<info><sites>data</sites></info> 'path=info/sites'
テーブル名
D tabname      S             10A   DIM(5)
/free
      XML-INTO tabname %XML(xmldoc : opts)
XML-INTO tabname の XML の例 path オプション
<tabname>data</tabname> ブランク
<library>data</library> 'path=library'
<info><library>data</library></info> 'path=info/library'
単純なデータ構造または複数回繰り返しデータ構造
注:
例における XML データでは、判読しやすいように改行およびインデントが使用されています。 XML データは、任意の便利な方式で形式化できます。
図 380.
D pgm          DS
D   name                  10A
D   lib                   10A
OR
図 381.
D pgm          DS                  OCCURS(5)
D   name                  10A
D   lib                   10A
/free
      XML-INTO pgm %XML(xmldoc : option)
XML-INTO pgm の XML の例 path オプション
  <pgm>
    <name>data</name>
    <lib>data</lib>
 </pgm>
ブランク
  <program>
    <name>data</name>
    <lib>data</lib>
  </program>
'path=program'
  <api>
    <program>
      <name>data</name>
      <lib>data</lib>
    </program>
  </api>
'path=api/program'

注: サブフィールド情報は、XML 要素または XML 属性により提供されます。 データ構造のサブフィールドに XML を指定するその他の有効な方法を以下に示します。 スカラー・サブフィールドの XML データを作成する場合には、属性または要素のいずれかを自由に使用して XML 文書を設計できます。

 <pgm name="data" lib="data"/>
OR
 <pgm name="data">
   <lib>data</lib>
 </pgm>
スカラー型の配列
D sites        S             25A   DIM(3)
/free
      XML-INTO sites %XML(xmldoc : option)
 
XML-INTO sites の XML の例 path オプション
 <anything>
   <sites>data</sites>
   <sites>data</sites>
   <sites>data</sites>
  </anything>
ブランク
 <info>
   <custsites>data</custsites>
   <custsites>data</custsites>
   <custsites>data</custsites>
  </info>
'path=info/custsites'
データ構造の配列
D pgm          DS                  DIM(3) QUALIFIED
D   name                  10A
D   lib                   10A
 /free
      XML-INTO pgm %XML(xmldoc : option)
XML-INTO pgm の XML の例 path オプション
  <anything>
    <pgm name="name1" lib="lib1"/>
    <pgm><name>name2</name>
         <lib>lib2</lib></pgm>
    <pgm lib="lib3"><name>name3</pgm>
  </anything>
ブランク
  <programs>
    <pgm name="name1" lib="lib1"/>
    <pgm><name>name2</name>
         <lib>lib2</lib></pgm>
    <pgm lib="lib3"><name>name3</pgm>
  </programs>
'path=programs/pgm'

注: 3 つの "pgm" XML 要素には、 XML 要素および XML 属性のさまざまな組み合わせで指定された名前およびライブラリー情報があります。 スカラー・サブフィールドの XML データを作成する場合には、属性または要素のいずれかを自由に使用して XML 文書を設計できます。

複雑なデータ構造
D qualname     DS                QUALIFIED
D   name                  10A
D   lib                   10A
D dtaaraInfo   DS                QUALIFIED
D   dtaara                       LIKEDS(qualname)
D   type                  10I 0
D   value                100a
/free
      XML-INTO dtaaraInfo %XML(xmldoc : option)
XML-INTO dtaaraInfo の XML の例 path オプション
  <dtaarainfo>
     <dtaara>
       <name>data</name>
       <lib>data</lib>
     </dtaara>
     <type>data</type>
     <value>data</value>
  </dtaarainfo>
ブランク
  <sys>
    <obj>
      <dta>
         <dtaara>
           <name>data</name>
           <lib>data</lib>
         </dtaara>
         <type>data</type>
         <value>data</value>
      </dta>
    </obj>
   </sys>
'path=sys/obj/dta'
データ構造の配列があるハンドラー・プロシージャー
D myCommArea   DS
D   total                 20u 0
D custType     DS                qualified
D   name                  50a    varying
D   id_no                 10i 0
D   city                  20a
D custHdlr     PR
D   commArea                     likeds(myCommArea)
D   custinfo                     likeds(custType) dim(5)
D   numElems              10u 0  const
/free
      XML-INTO %HANDLER(custHdlr : myCommArea) %XML(xmldoc : option)

注: %HANDLER が指定された場合には path オプションが必要です。

XML-INTO %HANDLER(custHdlr:x) の XML の例 path オプション
  <info>
    <cust>
       <name>data</name>
       <id_no>data</id_no>
       <city>data</city>
    </cust>
    <cust>
       <name>data</name>
       <id_no>data</id_no>
       <city>data</city>
    </cust>
    :
    :
    <cust>
       <name>data</name>
       <id_no>data</id_no>
       <city>data</city>
    </cust>
  </info>
'path=info/cust'
スカラー型の配列があるハンドラー・プロシージャー
D myCommArea   DS
D   total                 20u 0
D nameHdlr     PR
D   commArea                          likeds(myCommArea)
D   names                 10a    dim(5)
D   numNames              10u 0  const
 /free
      XML-INTO %HANDLER(nameHdlr : myCommArea) %XML(xmldoc : option)

注: %HANDLER が指定された場合には path オプションが必要です。

XML-INTO %HANDLER(nameHdlr:x) の XML の例 path オプション
  <info>
    <name>data</name>
    <name>data</name>
    <name>data</name>
    <name>data</name>
    :
    :
    <name>data</name>
    <name>data</name>
  </info>
'path=info/names'