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