datasubf

datasubf オプションは、 RPG データ構造に一致する XML 要素にテキスト・データがある状態を処理するために使用される、追加のスカラー・サブフィールドの名前を指定します。

例えば、このオプションに datasubf=txt が指定されていて、RPG データ構造にスカラー・サブフィールド txt があると、そのサブフィールドは、このデータ構造に一致する XML 要素のテキスト・データを受け取ります。

デフォルト: datasubf オプションが指定されていない場合、 RPG データ構造に一致する XML 要素は、テキスト・データを含むことができません。テキスト・データは、データ構造のサブフィールドとのみ関連付けることができます。

注:
  1. datasubf オプションで名前が指定されたスカラー・サブフィールドが RPG データ構造にある場合、以下の規則が適用されます。
    • 一致する XML 要素にテキスト・データがある場合、そのテキスト・データがスカラー・サブフィールドに代入されます。
    • データ構造にあるその他のすべてのサブフィールドの値は、XML 属性で設定される必要があります。 そのため、XML 要素が子要素を持つことはできず、データ構造にあるその他のサブフィールドはすべてスカラー・サブフィールドでなければなりません。
    • データ構造に一致する XML 要素は、datasubf オプションと同じ名前の XML 属性または 子 XML 要素を持つことはできません。
    • XML 要素にテキスト・データがない場合、 datasubf サブフィールドには空値が設定されます。 サブフィールドのデータ・タイプで空値がサポートされていないと (例えば、数値および日付タイプなど)、サブフィールドへの代入で例外が発生します。
  2. datasubf オプションで名前が指定されたスカラー・サブフィールドが RPG データ構造にない場合、 そのデータ構造について datasubf オプションは無視されます。 RPG データ構造に一致する XML 要素は、テキスト・データを含むことができません。
  3. datasubf オプションで指定された名前と同じ名前の配列またはデータ構造サブフィールドが RPG データ構造にある場合、 そのデータ構造について datasubf オプションは無視されます。 RPG データ構造に一致する XML 要素は、テキスト・データを含むことができません。
  4. 複合 RPG データ構造には、多くのデータ構造サブフィールドが含まれることがあります。 datasubf オプションは、データ構造サブフィールドごとに別々に考慮されます。 XML-INTO 命令が正常終了するために、あるデータ構造サブフィールドの XML データでは datasubf オプションを必要とするが、 別のデータ構造サブフィールドでは必要としないことがあります。
  5. datasubf サブフィールドは、countprefix サブフィールドと同じにできません。 例えば、countprefix=num_ が指定されていて、データ構造にサブフィールド arr と num_arr がある場合、num_arr が countprefix サブフィールドです。 このデータ構造にオプション datasubf=num_arr も指定することはできません。