Groupes de décodeur XML

Traitement des fichiers XML en tant que sources de journal pour définir des décodeurs pour extraire des données du fichier XML.

REMARQUE

La définition de groupes de décodeur XML pour les sources de journaux XML nécessite une connaissance de la structure et du contenu du fichier XML, des données à extraire et des champs dans lesquels ces données sont stockées. Cette section fournit des descriptions de base des paramètres que vous pouvez spécifier pour les décodeurs. La manière dont vous utilisez un décodeur dépend du fichier XML qui contient vos données source.

Pour plus d’informations sur les exigences de format des sources de journal XML, voir Sources de journal. Pour obtenir de l’aide sur la définition des décodeurs XML, contactez Adobe.

Le niveau supérieur d’un décodeur XML est un groupe de décodeurs (XMLDecoderGroup), qui est un ensemble de tables de décodeurs que vous utilisez pour extraire des données d’un fichier XML d’un format particulier. Si vous disposez de fichiers XML de formats différents, vous devez définir un groupe de décodeurs pour chaque format. Chaque groupe de décodeurs se compose d’une ou de plusieurs tables de décodeurs.

Le tableau suivant décrit le paramètre Tables et tous les sous-paramètres que vous devez spécifier pour définir un groupe de décodeurs XML.

Paramètre Description
Tableaux

Chaque tableau d’un groupe de décodeurs représente un niveau de données à extraire du fichier XML. Si vous souhaitez, par exemple, extraire des données sur les visiteurs, vous créez un tableau de décodeur contenant les informations que vous souhaitez extraire pour chaque visiteur. Vous pouvez également créer des tableaux de décodeur dans les tableaux de décodeur (voir Enfants).

Pour ajouter un tableau à un groupe de décodeurs

  • Cliquez avec le bouton droit de la souris sur Tableaux et cliquez sur Ajouter > XMLDecoderTable .

Champs

Champs étendus (par exemple, x-trackingid, x-email) dans lesquels les données sont stockées. Les données à stocker dans le champ sont déterminées par les sous-champs Chemin et/ou Opération .

Le chemin d’accès est le niveau du champ dans le fichier XML structuré. Le chemin d’un champ est relatif au chemin d’accès du tableau dans lequel il est défini. Par exemple, tag.tag.tag ou tag.tag.tag.@attribute . Notez que les chemins sont sensibles à la casse.

Une Opération est appliquée à chaque ligne du chemin spécifié pour produire une sortie. Les opérations suivantes sont disponibles :

  • LAST : le champ prend la valeur de la dernière occurrence du chemin dans le fichier XML.
  • RANDOM : attribue une valeur aléatoire au champ. Cette opération est utile si vous devez générer un identifiant unique, comme pour le champ x-trackingid .
  • INHERIT : le champ défini hérite de sa valeur du champ correspondant de la table parente.
  • "constante " : la constante doit être entre guillemets. Vous pouvez utiliser une opération constante pour vérifier l’existence d’un chemin particulier ; si le chemin existe, la valeur de la constante est affectée au champ.

Pour ajouter un champ à un tableau de décodeur

  • Cliquez avec le bouton droit de la souris sur Champs , puis cliquez sur Ajouter > XMLDecoderField . Définissez le champ, l’opération et le chemin d’accès selon les besoins.

Chemin d’accès

Niveau au sein du fichier XML structuré pour lequel le tableau de décodeur contient des informations. Pour un tableau de décodeur XML enfant, le chemin est relatif au chemin du tableau parent. Notez que les chemins sont sensibles à la casse.

Par exemple, si votre fichier XML contient la structure :

<visitor>

 

..

 

</visitor>

</logdata>    <p> alors le chemin serait <span class="filepath">logdata.visitor</span> . </p> </td>
Tableau

La valeur de ce paramètre doit toujours être "Entrée de journal".

Remarque : Ne modifiez pas cette valeur sans Adobe de conseil.

Enfants

Facultatif. Une ou plusieurs tables de décodeur incorporées. Chaque enfant comprend les paramètres Champs, Chemin et Tableau décrits ci-dessus.

Pour ajouter un enfant à un tableau de décodeur

  • Cliquez avec le bouton droit de la souris sur Enfants et cliquez sur Ajouter > XMLDecoderTable . Définissez le champ, l’opération et le chemin d’accès selon les besoins.

Pour utiliser un fichier XML comme source de journal pour un jeu de données, les groupes de décodeur XML et les tableaux doivent être définis afin d’extraire les informations à traiter dans le jeu de données. Dans cet exemple, vous pouvez voir comment définir des groupes de décodeurs et des tableaux pour un exemple de source de journal XML pour un jeu de données web.

Le fichier XML suivant contient des informations sur le visiteur d’un site web, notamment un ID d’Experience Cloud, une adresse électronique, une adresse physique et des informations sur les pages vues du visiteur.

Puisque nous avons un seul fichier XML, nous n’avons besoin que d’un seul groupe de décodeurs, que nous appelons "Exemple de format XML". Ce groupe de décodeur s’applique à tout autre fichier XML au même format que ce fichier. Pour commencer à créer des tableaux de décodeur XML dans ce groupe de décodeurs, nous devons d’abord déterminer les informations à extraire et les champs dans lesquels les données seront stockées.

Dans cet exemple, nous extrayons des informations sur le visiteur et les pages vues associées à ce visiteur. Pour ce faire, nous créons un tableau de décodeur XML de niveau supérieur (parent) avec des informations sur le visiteur et un tableau de décodeur XML (enfant) incorporé avec des informations sur les pages vues de ce visiteur.

Les informations de la table parent (visiteur) sont les suivantes :

  • Identifiant de type de données pour chaque ligne de données dans le fichier XML. Nous utilisons VISITEUR comme identifiant afin de pouvoir identifier rapidement les lignes de données appartenant au visiteur et non aux pages vues. Cette valeur peut être stockée dans le champ x-rowtype .
  • Identifiant du visiteur, que nous stockons dans le champ x-trackingid .
  • Adresse électronique du visiteur (contact.email), que nous stockons dans le champ x-email .
  • État d’enregistrement du visiteur. Si le visiteur est un utilisateur enregistré, nous pouvons stocker la valeur "1" dans le champ x-is-registered .
  • La valeur Path est logdata.visitor et la valeur Table est Log Entry. Pour plus d’informations sur ces paramètres, voir le tableau XMLDecoderGroup ci-dessus.

Les informations de la table enfant (pages vues) sont les suivantes :

  • Identifiant de type de données pour chaque ligne de données dans le fichier XML. Nous utilisons "PAGEVIEW" comme identifiant afin de pouvoir identifier rapidement les lignes de données relatives aux pages vues du visiteur et non pas uniquement au visiteur. Cette valeur est stockée dans le champ x-rowtype .
  • Identifiant du visiteur. Cette valeur est héritée de la table parente et stockée dans le champ x-trackingid .
  • Horodatage de chaque page vue, stockée dans le champ x-event-time .
  • L’URI de chaque page vue, stockée dans le champ cs-uri-stem .
  • La valeur Path est pageview et la valeur Table est "Log Entry". Pour plus d’informations sur ces paramètres, voir le tableau XMLDecoderGroup ci-dessus.

La capture d’écran suivante montre une partie du fichier Log Processing Dataset Include avec le groupe de décodeur XML obtenu pour l’exemple de fichier XML en fonction de la structure discutée des tables de décodeur XML parent et enfant.

Un tableau présentant la sortie de ce décodeur pour notre fichier XML d’exemple ressemble à ce qui suit :

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

Vous pouvez créer un tableau comme celui ci-dessus dans Data Workbench à l’aide d’une interface de visionneuse de champs. Pour plus d’informations sur l’interface de la visionneuse de champ, voir Outils de configuration du jeu de données.

Utilisation de #value sur l’élément XML pour lire sa valeur d’attribut

Vous pouvez désormais utiliser la balise #value dans les chemins XML pour extraire la valeur d’un élément XML.

Par exemple, si vous aviez spécifié précédemment un chemin d’accès <Hit><Page name="Home Page" index="20">home.html</Page></Hit>, vous ne pouviez pas lire la valeur de la balise <Page>. Pour lire la valeur d’une balise <Page> et ses attributs, vous pouvez respectivement utiliser Hit.Page.@name et Hit.Page.@index. Vous pouvez également extraire la valeur de la balise à l’aide de l’expression Hit.Page.#value.

Par exemple, vous pouvez lire la valeur de la balise <varValue> en ajoutant le champ suivant dans le décodeur :

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

De même, vous pouvez lire la valeur de la balise <Rep> en ajoutant le champ suivant dans le décodeur :

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

En revanche, pour lire la valeur de la balise d’élément sans attribut, une balise <text> sous une balise <line> et sa valeur peuvent être lues directement en ajoutant "text" dans un chemin ou en utilisant line.text, selon la manière dont vous avez créé le décodeur.

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

Sur cette page