XML デコーダーグループ

最終更新日: 2022-10-05
  • 作成対象:
  • User
    Admin
重要

Data Workbench 提供終了のお知らせ.

XML ファイルからデータを抽出するデコーダーを定義するログソースとしての XML ファイルの処理。

メモ

XML ログソースに対して XML デコーダーグループを定義するには、XML ファイルの構造と内容、抽出するデータ、およびそのデータが格納されるフィールドに関する知識が必要です。 この節では、デコーダー用に指定できるパラメーターについて簡単に説明します。デコーダーの使用方法は、目的のソースデータが格納されている XML ファイルによって異なります。

XML ログソースの形式の要件について詳しくは、 ログソース. XML デコーダーの定義に関して不明な点がありましたらアドビにお問い合わせください。

XML デコーダーの最上位の要素はデコーダーグループ(XMLDecoderGroup)です。特定の形式の XML ファイルからデータを抽出するための一連のデコーダーテーブルが、デコーダーグループにまとめられています。異なる複数の形式の XML ファイルがある場合は、その形式ごとにデコーダーグループを定義する必要があります。各デコーダーグループは、少なくとも 1 つのデコーダーテーブルから成ります。

次の表に、XML デコーダーグループを定義するために指定する必要がある Tables パラメーターとすべてのサブパラメーターを示します。

パラメーター 説明
テーブル

デコーダーグループ内の各テーブルは、XML ファイルから抽出する 1 階層分のデータを表します。例えば、訪問者に関するデータを抽出したい場合、それぞれの訪問者について抽出する情報から成るデコーダーテーブルを作成します。デコーダーテーブル内にデコーダーテーブルを作成することもできます(「Children」を参照)。

デコーダーグループにテーブルを追加するには

  • Tables を右クリックし、新規追加XMLDecoderTable をクリックします。

Fields

データが格納される拡張フィールド(x-trackingid、x-email など)。フィールドに格納されるデータは、サブフィールドである Path と Operation(両方またはそのどちらか一方)によって決まります。

Path は、構造化 XML ファイル内のフィールドの階層です。フィールドのパスは、それが定義されているテーブルのパスに対して相対的に指定します(例:tag.tag.tagtag.tag.tag.@attribute)。パスの大文字と小文字が区別されることに注意してください。

指定したパスのそれぞれの行に Operation が適用されて、出力結果が生成されます。次の演算を適用できます。

  • LAST:XML ファイル内で最後に出現するパスの値がフィールドに格納されます。
  • RANDOM:フィールドにランダム値を割り当てます。x-trackingid フィールドなど、一意の ID を生成する必要がある場合に利用できます。
  • INHERIT:定義されているフィールドの値は、親テーブルの対応するフィールドから継承されます。
  • "constant ":定数は引用符で囲む必要があります。定数演算を使用すると、特定のパスの存在をチェックできます。パスが存在する場合、対象のフィールドに定数の値が割り当てられます。

デコーダーテーブルにフィールドを追加するには

  • Fields を右クリックし、新規追加XMLDecoderField をクリックします。必要に応じて Field、Operation、Path を定義します。

パス

デコーダーテーブルに格納される情報の、構造化 XML ファイル内における階層。子の XML デコーダーテーブルの場合、親テーブルのパスに対して相対的に指定します。パスの大文字と小文字が区別されることに注意してください。

例えば、XML ファイルが次のような構造になっているとします。

<visitor>

 

...

 

</visitor>

</logdata>  </code> <p> 次に、パスは logdata.visitor<span class="filepath">になりま</span>す。 </p> </td>
テーブル

このパラメーターの値は常に「Log Entry」にする必要があります。

注意:変更が必要な場合は必ずアドビまでご相談ください。

Children

(オプション)。埋め込みのデコーダーテーブル(複数可)。それぞれの子に、前述した Fields、Path、Table の各パラメーターが存在します。

デコーダーテーブルに子を追加するには

  • Children を右クリックし、新規追加XMLDecoderTable をクリックします。必要に応じて Field、Operation、Path を定義します。

データセットのログソースとして XML ファイルを使用するには、データセットへと加工される情報を抽出する XML デコーダーグループと XML デコーダーテーブルを定義する必要があります。以降、Web データセットのサンプル XML ログソースを例に、デコーダーグループとデコーダーテーブルを定義する方法を紹介します。

次の XML ファイルには、Experience CloudID、電子メールアドレス、物理アドレス、訪問者のページビューに関する情報など、Web サイトの訪問者に関する情報が含まれています。

この例では、XML ファイルが 1 つなので、必要なデコーダーグループは 1 つだけです。このデコーダーグループの名前は「Sample XML Format」とします。ファイルの形式が同じであれば、他の XML ファイルにも、このデコーダーグループを適用できます。このデコーダーグループ内に XML デコーダーテーブルを作成するにはまず、抽出する情報とそのデータの格納先となるフィールドを決める必要があります。

この例では、訪問者とそのページビューに関する情報を抽出することにします。そこで、訪問者に関する情報を格納する最上位(親)の XML デコーダーテーブルと、その訪問者のページビューに関する情報を格納する埋め込み(子)の XML デコーダーテーブルを作成します。

親(訪問者)テーブルの情報は次のとおりです。

  • XML ファイルの各データ行のデータタイプ識別子。ページビューに関連したデータ行ではなく、訪問者に関連したデータ行であることがすぐにわかるよう、ここでは「VISITOR」を識別子として使用します。この値は x-rowtype フィールドに格納することができます。
  • 訪問者の ID。この ID は x-trackingid フィールドに格納します。
  • 訪問者の電子メールアドレス(contact.email)。x-email フィールドに格納します。
  • 訪問者の登録ステータス。訪問者が登録ユーザーである場合、x-is-registered フィールドに値「1」を格納します。
  • パスの値は、 logdata.visitorの場合、Table の値は Log Entry. これらのパラメーターについて詳しくは、上の表(「XMLDecoderGroup」)を参照してください。

子(ページビュー)テーブルの情報は次のとおりです。

  • XML ファイルの各データ行のデータタイプ識別子。訪問者のみに関連したデータ行ではなく、訪問者のページビューに関連したデータ行であることがすぐにわかるよう、ここでは「PAGEVIEW」を識別子として使用します。この値は x-rowtype フィールドに格納します。
  • 訪問者の ID。この値は親テーブルから継承し、x-trackingid フィールドに格納します。
  • 各ページビューのタイムスタンプ。x-event-time フィールドに格納します。
  • 各ページビューの URI。cs-uri-stem フィールドに格納します。
  • Path の値は pageview で、Table の値は「Log Entry」。これらのパラメーターについて詳しくは、上の表(「XMLDecoderGroup」)を参照してください。

次の画面キャプチャは、 Log Processing Dataset Include ファイルの親と子の XML デコーダーテーブルの構造に基づいて、サンプル XML ファイル用に生成された XML デコーダーグループを作成します。

サンプル XML ファイルに対してこのデコーダーを適用した場合の出力結果は、次のようなテーブルになります。

x-rowtype cs–uri-stem x-email x-is-registered x-event-time x-tracking-id
VISITOR foo@bar.com 1 1
PAGEVIEW /index.html 2006-01-01 08:00:00 1
PAGEVIEW / 2006-01-01 08:00:30 1

同様のテーブルは、Data Workbench でフィールドビューアのインターフェイスを使用して作成できます。フィールドビューアのインターフェイスについて詳しくは、 データセット設定ツール.

XML 要素で#valueを使用して属性値を読み取る

これで、 #value タグを XML パスに追加し、XML 要素の値を取得します。

例えば、以前に <Hit><Page name="Home Page" index="20">home.html</Page></Hit> を読み取れなくなりました <Page> タグを使用します。 の値を読み取るには <Page> タグとその属性は、 Hit.Page.@name および Hit.Page.@index それぞれ また、タグの値を Hit.Page.#value 式。

例えば、タグの値を読み取ることができます <varValue> デコーダーに次のフィールドを追加する。

7 = XMLDecoderField:
Field = string: x-varvalue-name-added
Operation = string: LAST
Path = string:
<b>#value</b>
Path = string: varValue
Table = string: Log Entry

同様に、タグの値を読み取ることができます <Rep> デコーダーに次のフィールドを追加する。

7 = XMLDecoderField:
Field = string: x-rep-name-added
Operation = string: LAST
Path = string: Rep.#
<b>value</b>
Path = string: Reps
Table = string: Log Entry

これに対し、属性のない要素タグの値を読み取るには、 <text> タグを <line> タグとその値は、 text」をクリックします。 line.text(デコーダーの構築方法に応じて)。

2 = XMLDecoderField:
Field = string: x-chat-text
Operation = string: LAST
Path = string:
<b>text</b>
Path = string:
<b>line</b>
Table = string: Log Entry

このページ