ccsid (デフォルト best)

ccsid オプションは、XML 文書の処理に使用される CCSID を指定します。 XML-INTO 命令の実行時に、以下のように何らかの CCSID 変換が実行される場合があります。
  • XML 文書の CCSID が構文解析に使用される CCSID と異なる場合は、XML 文書から XML 文書の一時コピーに CCSID 変換が必要なことがあります。
  • 構文解析に使用される CCSID が RPG 変数の CCSID と異なる場合は、XML データの RPG 変数への代入時に CCSID 変換が必要なことがあります。
実際の文書の CCSID がその文書の処理に使用される CCSID と異なる場合は、構文解析の開始前に文書全体で CCSID 変換が実行されます。 文書の処理に使用される CCSID が RPG 変数の CCSID と異なる場合は、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