Groupes de décodeur XML

Traitement des fichiers XML en tant que sources de journaux pour définir des décodeurs pour l’extraction de données du fichier XML.

REMARQUE

La définition de groupes de décodeurs 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 journaux XML, voir Sources de journaux. Pour obtenir de l’aide sur la définition de décodeurs XML, contactez l’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. Par exemple, si vous souhaitez extraire des données sur les visiteurs, vous pouvez créer un tableau de décodeur contenant les informations à extraire pour chaque visiteur. Vous pouvez également créer des tables de décodeur dans des tables de décodeur (voir la section 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 du tableau dans lequel il est défini. Par exemple, tag.tag.tag ou tag.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 d’accès 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, par exemple 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 entourée de 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éfinir le champ, l'opération et le chemin d'accès, selon le cas.

Chemin d’accès

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

Par exemple, si votre fichier XML contient la structure :

<visiteur>

 

..

 

&lt ;/visiteur>

&lt ;/logdata&gt ;&nbsp ;   <p> alors le chemin d'accès serait <span class="filepath">logdata.visiteur</span>. </p> </td>
Tableau

La valeur de ce paramètre doit toujours être "Log Entry".

Remarque : Ne modifiez pas cette valeur sans consulter l’Adobe.

Enfants

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

Pour ajouter un enfant à une table de décodeur

  • Cliquez avec le bouton droit Enfants et cliquez sur Ajouter > XMLDecoderTable . Définir le champ, l'opération et le chemin d'accès, selon le cas.

Pour utiliser un fichier XML comme source de journal pour un jeu de données, les groupes de décodeurs XML et les tables doivent être définis pour 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 un visiteur de site Web, notamment un ID d’Experience Cloud, une adresse électronique, une adresse physique et des informations sur les vues de la page 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écodeurs s’applique à tous les autres fichiers XML du même format que ce fichier. Pour commencer à construire des tables de décodeur XML au sein de 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 vues de page 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 vues de la page du visiteur.

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

  • Identifiant de type de données pour chaque ligne de données du fichier XML. Nous utilisons le VISITEUR comme identifiant afin de pouvoir identifier rapidement les lignes de données relatives au visiteur et non aux vues de page. Nous pouvons stocker cette valeur dans le champ x-rowtype.
  • ID du visiteur, que nous stockons dans le champ x-trackingid.
  • Adresse électronique du visiteur (contact.email), que nous stockons dans le champ x-email.
  • Statut d'inscription 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.

Le tableau enfant (vues de page) contient les informations suivantes :

  • Identifiant de type de données pour chaque ligne de données du fichier XML. Nous utilisons "PAGEVIEW" comme identifiant afin de pouvoir identifier rapidement les lignes de données relatives aux vues des visiteurs et non pas seulement aux visiteurs. Cette valeur est stockée dans le champ x-rowtype.
  • ID du visiteur. Cette valeur est héritée de la table parent et stockée dans le champ x-trackingid.
  • Horodatage de chaque vue de page, qui est stocké dans le champ x-événement-heure.
  • URI de chaque vue de page, qui est stockée dans le champ cs-uri-stem.
  • La valeur Path est page vue 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écodeurs XML obtenu pour l’exemple de fichier XML en fonction de la structure discutée des tables de décodeurs XML parent et enfant.

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

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

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

Utilisation de #value sur un é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, en spécifiant précédemment un chemin d’accès de <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 utiliser Hit.Page.@name et Hit.Page.@index, respectivement. 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 peut être lue directement en donnant " text" dans un chemin d’accès 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

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now