D etudiant ds qualified
D age 3p 0
D nom 25a varying
D ecole 50a varying
D student ds likeds(etudiant)
<Étudiant Nom="Élise" Âge="12">
<École>Collège Saint-Merri</École>
</Étudiant>
デフォルトのパスは RPG 変数 ETUDIANT の名前であり、これは 実際の XML 名 Étudiant の変換後の形と一致するため、path オプションは必要ありません。
xml-into etudiant %xml('info.xml'
: 'doc=file case=convert '
+ 'ccsid=ucs2');
// etudiant.nom = 'Élise'
// etudiant.age = 12
// etudiant.ecole = 'Collège Saint-Merri'
xml-into student %xml('info.xml'
: 'doc=file case=convert '
+ 'ccsid=ucs2 path=etudiant');
// student.nom = 'Élise'
// student.age = 12
// student.ecole = 'Collège Saint-Merri'
D employee_info ds qualified
D last_name 25a varying
D first_name 25a varying
D is_manager 1a
D emp ds likeds(employee_info)
<employee-info is-manager="y">
<last-name>Smith</last-name>
<first-name>John</first-name>
</employee-info>
RPG データ構造名 employee_info は、 XML 名 employee-info の変換後の形 EMPLOYEE_INFO に 一致するため、path オプションは必要ありません。
xml-into employee_info %xml('data.xml'
: 'doc=file case=convert ');
// employee_info.last_name = 'Smith'
// employee_info.first_name = 'John'
// employee_info.is_manager = 'y'
xml-into emp %xml('data.xml'
: 'doc=file case=convert '
+ 'ccsid=ucs2 path=employee_info' );
// emp.last_name = 'Smith'
// emp.first_name = 'John'
// emp.is_manager = 'y'
D employee_info_ ds qualified
D last_name_ 25a varying
D first_name_ 25a varying
D is_manager_ 1a
<employee_info_DBCS is_manager_DBCS="y">
<last_name_DBCS>Smith</last_name_DBCS>
<first_name_DBCS>John</first_name_DBCS>
</employee_info_DBCS>
オプション case=convert が指定されます。ジョブ の *LANGIDSHR テーブルを使用して英字の変換が行われた後、 その次のステップでは、DBCS データおよび関連付けられたシフトアウトおよびシフトイン文字 を含めて、A-Z でも 0-9 でもない残りの文字が、下線文字に変換されます。このステップの後、XML 名 last_name_DBCS は 変換後は LAST_NAME_____ になります。次のステップでは、 元の名前に含まれている下線も含めて、残りの下線がすべてマージされて 1 つの 下線になります。結果としてできる名前は LAST_NAME_ です。
xml-into employee_info_ %xml('data.xml'
: 'doc=file case=convert '
+ 'ccsid=ucs2');
// employee_info_.last_name_ = 'Smith'
// employee_info_.first_name_ = 'John'
// employee_info_.is_manager_ = 'y'
D employee_info ds qualified
D last_name 25a varying
D first_name 25a varying
D is_manager 1a
<DBCS_employee_info DBCS_is_manager="y">
<DBCS_last_name>Smith</DBCS_last_name>
<DBCS_first_name>John</DBCS_first_name>
</DBCS_employee_info>
オプション case=convert が指定されます。非英数字から単一の下線文字への変換が行われた後、 名前 DBCS_last_name は 変換後は _LAST_NAME になります。RPG は下線で始まる名前をサポートしていないため、 最初の下線は削除されます。変換後の最終的な名前は LAST_NAME です。
xml-into employee_info %xml('data.xml'
: 'doc=file case=convert '
+ 'ccsid=ucs2');
// employee_info.last_name = 'Smith'
// employee_info.first_name = 'John'
// employee_info.is_manager = 'y'
