nsprefix オプションは、
オプション ns=remove が指定された場合に XML 名から除去された名前空間の
値を RPG プログラムが判別することを可能にします。
nsprefix オプションは、名前空間の値を
受け取るサブフィールドの名前の接頭部を指定します。nsprefix オプション
は、オプション ns=remove が指定されていない場合は無視されます。
例えば、XML エレメント <abc:def>hello</abc:def> と、
オプション ns=remove および nsprefix=PFX_ が指定されている場合、
RPG サブフィールド DEF は値「hello」を、
RPG サブフィールド PFX_DEF は値「abc」を受け取ります。
nsprefix オプションに関する規則: - nsprefix サブフィールドは英数字タイプまたは UCS-2 タイプでなければなりません。
- XML データと突き合わせられるサブフィールドが配列である場合、nsprefix サブフィールド
も、要素数が同じ配列でなければなりません。XML データと突き合わせ
られるサブフィールドが配列ではない場合、nsprefix サブフィールド
は配列であってはなりません。
- XML 要素に名前空間が付いていない場合、nsprefix サブフィールドには空ストリング '' が入れられます。
- nsprefix サブフィールドとして正しい名前を持つサブフィールド
があるが、nsprefix サブフィールドであるための基準が満たされない場合、それはエラーとは見なされません。例えば、nsprefix=ns が
指定され、データ構造内に、要素が 2 つある配列サブフィールド NAME と、
要素が 3 つある英数字配列サブフィールド NSNAME がある場合、
サブフィールド NSNAME は nsprefix サブフィールドであるとは見なされず、
したがって、XML-INTO はその値を設定するための XML データが見つかることを予期します。
- case オプションは、
nsprefix サブフィールドに入れられる名前空間値に影響しません。例えば、case=convert オプション
が指定されていて、XML 名が a--b:name の場合、値 "a--b" が nsprefix サブフィールドに入れられます。
- datasubf サブフィールドには nsprefix オプションは考慮されません。