case=convert オプションの例
- XML 文書に、RPG サブフィールドには有効でない英字を使用した名前が含まれています。
以下の例の中では次のデータ構造が使用されています。
D etudiant ds qualified D age 3p 0 D nom 25a varying D ecole 50a varying D student ds likeds(etudiant)ファイル info.xml に以下の行が含まれていると想定します。<Étudiant Nom="Élise" Âge="12"> <École>Collège Saint-Merri</École> </Étudiant>- オプション case=convert ccsid=ucs2 が指定されます。オプション case=convert は、
XML 文書中の名前が、パス内およびサブフィールドのリスト内の RPG 名とマッチングされる前に、
ジョブの *LANGIDSHR 変換テーブルを使用して変換されることを
指定します。名前 Étudiant、Âge、
および École は、ETUDIANT、AGE、
および ECOLE に変換されます。XML データ自体は変換されないため、サブフィールド ecole は、
値「Collège Saint-Merri」を XML 文書中にあるとおりに受け取ります。
デフォルトのパスは 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' - RPG データ構造は student という名前です。Étudiant XML 要素
が student データ構造と一致することを示すために、path オプションを指定する必要があります。path オプション
は、変換後の XML 名と一致するように path=etudiant と指定されます。
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'
- オプション case=convert ccsid=ucs2 が指定されます。オプション case=convert は、
XML 文書中の名前が、パス内およびサブフィールドのリスト内の RPG 名とマッチングされる前に、
ジョブの *LANGIDSHR 変換テーブルを使用して変換されることを
指定します。名前 Étudiant、Âge、
および École は、ETUDIANT、AGE、
および ECOLE に変換されます。XML データ自体は変換されないため、サブフィールド ecole は、
値「Collège Saint-Merri」を XML 文書中にあるとおりに受け取ります。
- XML 文書に、XML ではサポートされているが RPG 名では使用できない非英数字を使用した名前が含まれています。
以下の例の中では次のデータ構造が使用されています。ファイル data.xml に以下の行が含まれていると想定します。
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>- オプション case=convert が指定されます。ジョブ
の *LANGIDSHR テーブルを使用して英字の変換が行われた後、
その次のステップでは、 A-Z でも 0-9 でもない残りの文字が下線文字
に変換されます。XML 名 employee-info、is-manager、last-name、
および first-name は、EMPLOYEE_INFO、IS_MANAGER、LAST_NAME、
および FIRST_NAME に変換されます。
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' - RPG データ構造は emp という名前です。employee-info XML 要素
が emp データ構造と一致することを示すために、path オプションを指定する必要があります。path オプション
は、変換後の XML 名と一致するように path=employee_info と指定されます。
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'
- オプション case=convert が指定されます。ジョブ
の *LANGIDSHR テーブルを使用して英字の変換が行われた後、
その次のステップでは、 A-Z でも 0-9 でもない残りの文字が下線文字
に変換されます。XML 名 employee-info、is-manager、last-name、
および first-name は、EMPLOYEE_INFO、IS_MANAGER、LAST_NAME、
および FIRST_NAME に変換されます。
- XML 文書には、2 バイト・データを使用した名前が含まれています。
以下の例の中では次の定義が使用されています。
D employee_info_ ds qualified D last_name_ 25a varying D first_name_ 25a varying D is_manager_ 1aファイル data.xml に以下の行が含まれていると想定します。ここで、「DBCS」は 2 バイト・データを表します。<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' - XML 文書に、先頭が 2 バイト・データの名前が含まれています。
以下の例の中では次の定義が使用されています。
D employee_info ds qualified D last_name 25a varying D first_name 25a varying D is_manager 1aファイル data.xml に以下の行が含まれていると想定します。ここで、「DBCS」は 2 バイト・データを表します。<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'
