XML 文字列からの XML コレクションの抽出

XML コレクション抽出のアクションを使用して、XML 文字列または XML の文字列のセクションから、列または列のコレクションを抽出することができます。コレクションの各列には、事前に定義したプロパティが必要です。

コレクション抽出をこの方法で行うと、コレクションイベントをロードと同様の操作結果になります。この場合:

  • 続いてコレクション更新による操作が可能になります。
  • 続いて関連するアクションを行う場合、XML() 関数でもとの XML 文字列に変換できます。
  • 続いて関連するアクションを行う場合、列は ROWS() 関数で繰り返すことができます。また、各列のプロパティは、P() または FP() で参照できます。

このイベントアクションでは、XML のデータを、タグの解析をせずに便利に操作できます。

操作とそのパラメタを設定するには、以下の手順に従います。

  1. 実行区分 XML コレクション抽出で、イベント実行を作成します。

    イベント実行の作成」を参照してください。

  2. [パラメタの編集] をクリックすると、 [イベント実行 XML コレクション抽出] フォームが表示されます。

    このフォームには以下のボタンと対応するフィールドがあります。

    ボタン/フィールド 注記/コメント
    XML テンプレート このボタンを押すと、 [イベント実行 XML テンプレート選択] フォームが開き、抽出した XML データと一緒に使用する XML テンプレートをロードまたは選択できます。このフォームでは XML テンプレートをフィールドにマニュアル操作で入力する、または別のソースから貼り付けることができます。

    XML テンプレートとは、XML 断片で、データが抽出される XML の一つのデータ列と同じ構造を持つものです。この XML 断片は、このデータ列に対してテンプレートとして機能します。

    このフィールドは XML テンプレートを単一の文字列として表示します。

    XML このボタンをクリックすると、 [イベント実行式エディタ] の別のインスタンスが開きます。

    ここで参照される XML は、データを抽出するもとの XML 文字列です。

    このイベント実行の種類がイベントハンドラの一部だった場合:

    • BodOnReceive イベントで良く使用される関数は BODXML() です。これはインバウンドのビジネスオブジェクト文書 (BOD) からデータを抽出します。
    • このフォームでは以下が可能です。
      • FILECONTENTS() 関数で、固定された XML ファイルの読み取りを行う。
      • XML() 関数で、別のコレクションから XML 文字列を構築する。
      • 変数やパラメタを参照する。
      • XML 文字列をフィールドに手で入力する。
    パス このボタンをクリックすると、 [イベント実行 XML コレクション抽出の設定] フォームの別のインスタンスが開き、XML パスの抽出の設定ができます。

    このパスは抽出する行があるデータの XML の1つまたは複数のノードです。これは XML Path 言語(XPath)構文に表記されます。

    XML データの抽出パスの設定」を参照してください。

    プロパティマップ このボタンは、 [イベント実行 XML コレクション抽出の設定] フォームのインスタンスを開き、ひとつあるいは複数のプロパティ名/値のペアで、結果として抽出されたコレクションの各行のプロパティの XML 文字列から抽出する値のマッピングを行うものを作成します。

    プロパティマップは、カンマで区切ったペアの一覧からなります。各ペアは、プロパティ名と等号で区切られたパスからなります。

    • プロパティ名に応じて、抽出した値が抽出したコレクションの各行の値をあとでどのように参照するかを指定できます。
    • このパスは、プロパティに抽出するデータの場所を説明し、[パス]フィールドの XML 文字列の場所に関連付けられます。
      注:  これは XML Path 言語 (XPath) 構文に表記されます。
    結果セット指定 このボタンは [イベント実行設定結果セット ID ] フォームを開き、このイベント実行の処理で生じるレコードのセットに名前を付けることができます。
  3. これらのパラメタを設定し、[OK] をクリックしてフォームを閉じます。