XMLInsert

式エディタ > 関数ディレクトリ

 

XML要素や属性の追加

指定された位置のXML要素をXMLドキュメントに追加したり、属性を既存のXML要素に追加します。

構文:

XMLInsert (世代番号, ファイル番号, 要素パス, 属性名, 値 [,前置/後置フラグ,参照要素, 自動変換])

パラメータ:

世代番号 … タスクの階層位置を表す番号。カレントのタスクが0、親タスクが1、その親タスクが2 などとなります。

ファイル番号 … 指定されたタスクの(「XMLダイレクトアクセス」または、「項目」が設定された)[入出力ファイル]テーブルの番号

要素パス … XML 要素のパスを表す文字列。 パス文字列の構文は、以下の通りです。

 

/要素名[[インデックス]] [/要素名[[インデックス]] ... ]

 

  • 要素名 … XML 要素の名前です。エイリアスを指定することができます。エイリアスは、「all:My_Element」のように、コロン(:)で要素名と分けて指定します。

  • インデックス … 複数存在する中の特定の要素を示すインデックス。インデックス値は、0 以上の値を指定してください。要素を追加する場合、属性値は空白を指定します。要素パスの一番右端の要素に対するインデックスを指定することはできません。

要素パスの先頭のスラッシュ「/」は、区切り文字です。

属性名…指定された要素の中に追加されるXML属性名。この値が空白の場合、要素パスで指定されたXML要素として追加されます。

… 挿入される要素/属性の値が含まれる文字型、BLOB型(リッチエディット), Unicode型のデータです。

前置/後置フラグ(任意)…以下の値を表します。

  • A(前置)… 要素は、参照要素の後に追加されます。

  • B(後置)… 要素は、参照要素の前に追加されます。

XML要素の追加の時にこのパラメータが空白の場合、XML要素は親の要素内の最後の要素として追加されます。

属性の追加の場合は無視されます。

参照要素(任意) …XML要素を追加する際の参照用に使用するXML要素名。属性の追加の場合は無視されます。
参照要素が指定されていない場合、[前置/後置フラグ]を基に要素が追加されます。「前置」と指定された場合、親要素の最後の要素の前に追加します。「後置」と指定された場合、親要素の最初の要素として追加します。

自動変換(任意) …論理値

  • True… XMLVal関数のように正規のXMLフォーマットに変換します。

  • False …変換処理を行いません。

戻り値:

 

数値

要素が正常に追加された場合、追加された要素のインデックスを返します。属性が追加された場合は、「0」を返します。

関数の処理が失敗した場合、Magicは以下のエラーコードを返します。

  • -1…入出力ファイルの指定が正しくありません

  • -2… 挿入された要素や属性が定義されていません

  • -3… 入出力ファイルを書き込みモードでオープンできませんでした。

  • -4 …指定した要素パスが、すでに存在しています.

  • -6…指定した属性値が指定した要素内にすでに存在しています。

  • -7… 前置/後値フラグの文字が間違っています。

  • -8…参照要素が存在していません。

  • -9… ドキュメントがルート要素を含んでいて親のパスが空白です。

  • -10… 自動変換フラグが論理型ではありません。

  • -11…要素指定に対して、インデックスが正しくありません。

  • -13…要素か属性の名前が正しくありません。

  • -20…XMLファイルが正しくありません(解析に失敗)。

例:

XML Insert の例

関連項目:

XML のネームスペース , XML 関数のエラーコード