ccsid (デフォルト best)
ccsid オプションは、XML 文書の処理に使用される CCSID を指定します。
XML-INTO 命令の実行時に、以下のように何らかの CCSID 変換が実行される場合があります。
- XML 文書の CCSID が構文解析に使用される CCSID と異なる場合は、XML 文書から XML 文書の一時コピーに CCSID 変換が必要なことがあります。
- 構文解析に使用される CCSID が RPG 変数の CCSID と異なる場合は、XML データの RPG 変数への代入時に CCSID 変換が必要なことがあります。
- best は、文書内のデータを最適に保持する CCSID でその文書が処理されることを示します。 文書がジョブ CCSID またはジョブ CCSID に関連する ASCII CCSID にある場合、その文書はジョブ CCSID で処理されます。 その他の場合、文書は UCS-2 で処理され、データはジョブ CCSID に変換されてから UCS-2 以外のデータ型で変数に代入されます。
- job は、その文書がジョブ CCSID で処理されることを示します。 データは、UCS-2 変数への代入時には UCS-2 に変換されます。
- ucs2 は、その文書が UCS-2 で処理されることを示します。 データは、UCS-2 以外のデータ型で変数に代入される場合にはジョブ CCSID に変換されます。
XML 文書がファイルにある場合は、ファイル全体のコンテンツが構文解析の開始前に別の CCSID に変換される場合があります。
以下の表には、いくつかのファイルとその CCSID がリストされています。
| ファイル | ファイル CCSID | 関連する EBCDIC CCSID |
|---|---|---|
| file1.xml | 37 | 37 |
| file2.xml | 1252 | 37 |
| file3.xml | 874 | 838 |
| file4.xml | 13488 | (該当なし、UCS-2) |
| file5.xml | 1208 | (該当なし、UTF-8) |
以下の表には、ccsid オプションの各値に対してファイルの処理に使用される CCSID が示されています。ここでは、ジョブ CCSID が 37 であると想定しています。 アスタリスクは、ファイルが処理前に別の CCSID に変換されることを示しています。
| ファイル | CCSID オプション値 | ||
|---|---|---|---|
| best | job | ucs2 | |
| file1.xml | 37 | 37 | 13488* |
| file2.xml | 37* | 37* | 13488* |
| file3.xml | 13488* | 37* | 13488* |
| file4.xml | 13488 | 37* | 13488 |
| file5.xml | 13488* | 37* | 13488* |
XML 文書が変数にある場合、構文解析の開始前に文書全体が別の CCSID に変換される場合があります。
以下の変数定義を想定します。
D chrXml S 100A
D ucs2Xml S 100C
以下の表には、「ccsid」オプションの各値に対して変数の処理に使用される CCSID が示されています。ここでは、ジョブ CCSID が 37 であると想定しています。
アスタリスクは、変数内のデータが処理前に別の CCSID に変換されることを示しています。 | 変数 | CCSID オプション値 | ||
|---|---|---|---|
| best | job | ucs2 | |
| chrXml | 37 | 37 | 13488 |
| ucs2Xml | 13488 | 37* | 13488 |