Exemple de groupe

Pourquoi et quand exécuter cette tâche

Cet exemple montre un schéma de fichier à plat qui analyse un ensemble répété d'enregistrements à l'aide de groupes. Chaque ensemble de l'enregistrement répété contient des enregistrements de types différents, comme illustré dans l'exemple de données de fichier à plat en entrée :

Figure 1. Exemple de fichier à plat d'entrée

Dans cet exemple de données, les premier, second et troisième enregistrements de l'ensemble répété ont chacun un type différent. En outre, cet exemple montre comment les types stockés dans l'onglet Bibliothèques de types sont utilisés dans le schéma de fichier à plat. Dans cet exemple, vous affichez et testez un schéma de fichier à plat existant plutôt que de créer le schéma de fichier à plat.

Pour ouvrir, afficher et tester le schéma de fichier à plat utilisé pour analyser les données d'entrée affichées dans Figure 1 :

Procédure

  1. Dans cet exemple, le schéma de fichier à plat est déjà construit dans le projet FlatFileSchemasExample. Pour afficher le schéma de fichier à plat, vous devez d'abord extraire le projet FlatFileSchemasExample :
    1. Recherchez le Chemin de création par défaut défini dans Studio (répertoire où sont créés les projets). Pour afficher le Chemin de création par défaut, sélectionnez Fichier > Préférences... dans le menu de la barre d'outils de Studio. La boîte de dialogue Préférences s'ouvre. Le Chemin de création par défaut en cours apparaît au bas du panneau. Par défaut, le Chemin de création par défaut se trouve dans le répertoire suivant :

      C:\Documents and Settings\nom_connexion\My Documents

      nom_connexion représente votre nom de connexion Windows.

    2. Recherchez le fichier FlatFileSchemasExample.zip qui contient les fichiers constituant le projet FlatFileSchemasExample. Si vous avez accepté les valeurs par défaut pendant l'installation de Studio, ce fichier se trouve dans le répertoire suivant :

      C:\Program Files\IBM\WebSphere Cast Iron Studio 3.X\Samples\FlatFileSchema

    3. Copiez le fichier FlatFileSchemasExample.zip du répertoire FlatFileSchema vers le répertoire Chemin de création par défaut.
    4. Extrayez le contenu du fichier FlatFileSchemasExample.zip dans le répertoire Chemin de création par défaut.
  2. Ouvrez le projet FlatFileSchemasExample :
    1. Sélectionnez Fichier > Ouvrir un projet... dans le menu de la barre d'outils de Studio. La boîte de dialogue Ouvrir apparaît.
    2. Recherchez le répertoire FlatFileSchemasExample et ouvrez-le.
    3. Cliquez sur le fichier FlatFileSchemasExample.sp3, puis sur Ouvrir. Le projet apparaît.
  3. Ouvrez le schéma de fichier à plat vegPO préconfiguré. Dans le dossier Schémas de fichier à plat de l'onglet Projet, cliquez deux fois sur le schéma de fichier à plat vegPO. Les noeuds du schéma de fichier à plat vegPO sont affichés dans l'onglet Agencement de schéma et les propriétés du noeud racine vegPO apparaissent dans le panneau droit.
  4. Testez le schéma de fichier à plat vegPO :
    1. Dans le panneau de test, cliquez sur Parcourir. La boîte de dialogue Ouvrir le fichier de données exemple s'ouvre.
    2. Recherchez le fichier vegPO.txt contenant les données d'entrée. Si vous avez accepté les valeurs par défaut pendant l'installation de Studio, ce fichier se trouve dans le répertoire suivant :

      C:\Program Files\IBM\WebSphere Cast Iron Studio 3.X\Samples\FlatFileSchema

    3. Cliquez sur Ouvrir. Les données d'entrée du fichier vegPO.txt apparaissent dans le panneau gauche de l'onglet Test.
    4. Cliquez sur l'icône Test (Icône Test ). Dans le panneau de résultats (situé à droite du panneau de test), le résultat de la conversion apparaît sous forme de données XML.
  5. Dans l'onglet Agencement de schéma, cliquez sur le noeud racine vegPO. Le noeud racine vegPO apparaît avec les propriétés suivantes :
    1. La propriété Structure est égale à Délimité - La structure du noeud racine est délimitée.
    2. Délimiteur d'enfant est égal à Extrémité de ligne- Les enregistrements enfant sont délimités par une fin de ligne.
    3. Position de délimiteur d'enfant est égal à Après - Attend les délimiteurs après chaque enregistrement
    4. Le délimiteur Répéter est égal à Extrémité de ligne- Les enregistrements répétés sont également délimités par une fin de ligne.
  6. Dans l'onglet Agencement de schéma, cliquez sur le noeud orderingStore. La première ligne des données d'entrée est mise en évidence dans le panneau de test, comme illustré dans la figure suivante :
    Figure de l'en-tête du schéma VegPO

    Le premier enregistrement du schéma de fichier à plat vegPO est un enregistrement d'en-tête appelé orderingStore qui ne se produit qu'une fois. Dans l'onglet Agencement de schéma, les zones et l'enregistrement qui constituent l'enregistrement orderingStore apparaissent en tant qu'enfants. Cette première ligne est analysée dans les zones et les enregistrements qui constituent l'enregistrement orderingStore.

    Après le premier enregistrement d'en-tête, les ensembles d'éléments répétés commencent. Chaque ensemble d'éléments répétés contient trois enregistrements enfant de types différents, comme illustré dans la figure suivante :

    VegPO montrant un ensemble d'éléments répétés contenant trois enregistrements enfant de types différents.

    Un enregistrement répété contenant des enregistrements enfant de types différents peuvent être modélisés dans l'éditeur de schéma de fichier à plat à l'aide de groupes. Les groupes sont requis uniquement lorsque les données ne fournissent pas de délimiteurs ou de structure supplémentaires pour marquer clairement le début et la fin des répétitions qui contiennent plusieurs enregistrements. Les délimiteurs des répétitions sonthérités de l'enregistrement parent ou du noeud racine. Dans cet exemple pour le noeud racine vegPO, le délimiteur répété est défini par une fin de ligne. Le noeud de groupe orders utilise le délimiteur fin de ligne pour analyser ses enregistrements répétés

  7. Dans l'onglet Agencement de schéma, cliquez sur le noeud de groupe orders. Notez les modifications graphiques suivantes dans les panneaux :
    • Dans la sous-fenêtre gauche du panneau de test, toutes les lignes après la ligne d'en-tête sont mises en évidence. Cette mise en évidence indique qu'après l'analyse, toutes les données après le premier enregistrement sont affectées au noeud de groupe orders.
    • Dans le panneau Propriétés de base, la propriété Occurrences du groupe orders est Sans limite. Ce paramètre signifie qu'une ou plusieurs instances de ce groupe sont possibles.
    • Dans le panneau Propriétés de base, pour le groupe orders, le Type est égal à order. Ce paramètre signifie que le groupe orders est basé sur le type de groupe order. Le contenu et les propriétés du type de groupe orders sont définis dans l'onglet Bibliothèque de types.
  8. Sélectionnez l'onglet Bibliothèque de types. Les types d'enregistrement et les types de groupes utilisés dans le schéma de fichier à plat vegPO apparaissent. Le type de groupe order contient trois enregistrements comme illustré dans la figure suivante :
    Groupe order vegPO

    L'icône suivante représente un enregistrement basé sur un type d'enregistrement :

    Icône Enregistrement basé sur un type.

    Le groupe orders avec le type de groupe order définissent un ensemble d'enregistrements répétés de différents types en raison des caractéristiques suivantes :

    • Une à plusieurs instances du groupe orders peuvent exister.
    • Le type de groupe order contient trois enregistrements de différents types.
    • Le groupe orders est basé sur le type de groupe order ou en hérite.
    La relation répétée entre le groupe orders et le type de groupe order est illustrée dans la figure suivante :
    Modèle de répétition vegPO
  9. Dans l'onglet Bibliothèque de types, cliquez sur le noeud d'enregistrement id du type de groupe order. Notez les modifications graphiques suivantes dans les panneaux :
    • Dans le panneau Propriétés de base, la propriété Type de l'enregistrement id est égale au type d'enregistrement nommé orderID. Ce paramètre signifie que l'enregistrement id est basé sur le type d'enregistrement orderID.
    • Dans la sous-fenêtre gauche du panneau de test, la première ligne de chaque enregistrement répété est mise en évidence, comme illustré dans la figure suivante :
      ID test VegPO
      Cette mise en évidence indique que la première ligne de chaque enregistrement répété est affectée à l'enregistrement id.
  10. Dans l'onglet Bibliothèque de types, cliquez sur le noeud d'enregistrement shipdate du type de groupe order. Notez les modifications graphiques suivantes dans les panneaux :
    • Dans le panneau Propriétés de base, la propriété Type de l'enregistrement shipdate est égale au type d'enregistrement nommé shippingDate. Ce paramètre signifie que l'enregistrement shipdate est basé sur le type d'enregistrement shippingDate.
    • Dans le panneau Propriétés de base, la propriété Structure de l'enregistrement shipdate est Positionnel. Ce paramètre signifie que les zones enfant de l'enregistrement shipDate sont déterminées par leur position et leur longueur dans l'enregistrement et non pas par des délimiteurs.
    • Dans la sous-fenêtre gauche du panneau de test, la première ligne de chaque enregistrement répété est mise en évidence, comme illustré dans la figure suivante :
      La figure indique que la seconde ligne de chaque enregistrement (ligne shipDate) est mise en évidence.
      Cette mise en évidence indique que la seconde ligne de chaque enregistrement répété est affectée à l'enregistrement shipDate. L'enregistrement shipDate contient trois zones enfant positionnelles (mois, jour et année), héritées du type d'enregistrement shippingDate.
  11. Dans la Bibliothèque de, cliquez sur le noeud de zone month du type d'enregistrement shippingDate. Dans la sous-fenêtre gauche du panneau de test, les valeurs affectées à la zone month sont mises en évidence comme indiqué dans la figure suivante :
  12. Dans l'onglet Bibliothèque de types, cliquez sur le noeud d'enregistrement contents du type de groupe order. Notez les modifications graphiques suivantes dans les panneaux :
    • Dans le panneau Propriétés de base, la propriété Type de l'enregistrement contents est égale au type d'enregistrement nommé orderContent. Ce paramètre signifie que l'enregistrement contents est basé sur le type d'enregistrement orderContent.
    • Dans la sous-fenêtre gauche du panneau de test, la troisième ligne de chaque enregistrement répété est mise en évidence, comme illustré dans la figure suivante :
      Cette figure montre que la troisième ligne de l'enregistrement répété (montrant le nom du légume et son poids en livres) est mise en évidence.
      Le type d'enregistrement orderContent contient l'enregistrement vegetables. L'enregistrement vegetables contient un ensemble d'enregistrement répétés vegetable . L'enregistrement vegetable contient une zone name et une zone pounds.
  13. Dans l'onglet Bibliothèque de types, cliquez sur le noeud d'enregistrement name du type d'enregistrement orderContent. Dans la sous-fenêtre gauche du panneau de test, les valeurs affectées à la zone name sont mises en évidence comme indiqué dans la figure suivante
    Cette figure montre que les valeurs affectées à la zone de nom sont mises en évidence.