XMLファイルからデータを抽出するデコーダーを定義するログソースとしてのXMLファイルの処理。
XMLログソース用のXMLデコーダーグループを定義するには、XMLファイルの構造と内容、抽出するデータ、およびそのデータが格納されるフィールドに関する知識が必要です。 この節では、デコーダー用に指定できるパラメーターについて簡単に説明します。デコーダーの使用方法は、目的のソースデータが格納されている XML ファイルによって異なります。
XML ログソースの形式の要件について詳しくは、 ログソース. XML デコーダーの定義に関して不明な点がありましたらアドビにお問い合わせください。
XML デコーダーの最上位の要素はデコーダーグループ(XMLDecoderGroup)です。特定の形式の XML ファイルからデータを抽出するための一連のデコーダーテーブルが、デコーダーグループにまとめられています。異なる複数の形式の XML ファイルがある場合は、その形式ごとにデコーダーグループを定義する必要があります。各デコーダーグループは、少なくとも 1 つのデコーダーテーブルから成ります。
次の表に、XMLデコーダーグループを定義するために指定する必要があるTablesパラメーターとすべてのサブパラメーターを示します。
パラメーター | 説明 |
---|---|
テーブル | デコーダーグループ内の各テーブルは、XML ファイルから抽出する 1 階層分のデータを表します。例えば、訪問者に関するデータを抽出したい場合、それぞれの訪問者について抽出する情報から成るデコーダーテーブルを作成します。デコーダーテーブル内にデコーダーテーブルを作成することもできます(「Children」を参照)。 デコーダーグループにテーブルを追加するには
|
Fields | データが格納される拡張フィールド(x-trackingid、x-email など)。フィールドに格納されるデータは、サブフィールドである Path と Operation(両方またはそのどちらか一方)によって決まります。 Path は、構造化 XML ファイル内のフィールドの階層です。フィールドのパスは、それが定義されているテーブルのパスに対して相対的に指定します(例:tag.tag.tag、tag.tag.tag.@attribute)。パスの大文字と小文字が区別されることに注意してください。 指定したパスのそれぞれの行に Operation が適用されて、出力結果が生成されます。次の演算を適用できます。
デコーダーテーブルにフィールドを追加するには
|
Path | デコーダーテーブルに格納される情報の、構造化 XML ファイル内における階層。子の XML デコーダーテーブルの場合、親テーブルのパスに対して相対的に指定します。パスの大文字と小文字が区別されることに注意してください。 例えば、XML ファイルが次のような構造になっているとします。
|
Table | このパラメーターの値は常に「Log Entry」にする必要があります。
注意:変更が必要な場合は必ずアドビまでご相談ください。 |
Children | (オプション)埋め込みのデコーダーテーブル(複数可)。それぞれの子に、前述した Fields、Path、Table の各パラメーターが存在します。 デコーダーテーブルに子を追加するには
|
データセットのログソースとして XML ファイルを使用するには、データセットへと加工される情報を抽出する XML デコーダーグループと XML デコーダーテーブルを定義する必要があります。以降、Web データセットのサンプル XML ログソースを例に、デコーダーグループとデコーダーテーブルを定義する方法を紹介します。
次のXMLファイルには、Experience Cloud ID、電子メールアドレス、住所、訪問者のページビューに関する情報など、Webサイト訪問者に関する情報が含まれています。
この例では、XML ファイルが 1 つなので、必要なデコーダーグループは 1 つだけです。このデコーダーグループの名前は「Sample XML Format」とします。ファイルの形式が同じであれば、他の XML ファイルにも、このデコーダーグループを適用できます。このデコーダーグループ内に XML デコーダーテーブルを作成するにはまず、抽出する情報とそのデータの格納先となるフィールドを決める必要があります。
この例では、訪問者とそのページビューに関する情報を抽出することにします。そこで、訪問者に関する情報を格納する最上位(親)の XML デコーダーテーブルと、その訪問者のページビューに関する情報を格納する埋め込み(子)の XML デコーダーテーブルを作成します。
親(訪問者)テーブルの情報は次のとおりです。
子(ページビュー)テーブルの情報は次のとおりです。
The following screen capture shows a portion of Log Processing Dataset Include file with the resulting XML decoder group for the sample XML file based on the discussed structure of the parent and child XML decoder tables.
サンプル 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 でフィールドビューアのインターフェイスを使用して作成できます。フィールドビューアのインターフェイスについて詳しくは、データセット設定ツールを参照してください。
You can now use the #value tag in XML paths to pull the value of an XML element.
例えば、以前は左のパスを指定し <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>
textline.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