Affectation de requêtes

Une requête définit les données extraites de la source de données et prend la forme d'un chemin d'accès dans le schéma de source de données. Vous pouvez affecter une requête à un élément de canevas pour définir le contexte des données de cet élément et de ses enfants.

Pourquoi et quand exécuter cette tâche

Dans IBM® Rational DOORS, les requêtes commencent par l'élément racine (module), continuent avec leur élément enfant (Objet), puis se terminent par l'attribut enfant de l'objet. Par exemple, Module/Objet/Attribut/Nom.

Dans IBM Rational Tau, les requêtes possèdent une syntaxe similaire à la syntaxe XPath. Toutefois, contrairement à XPath, la requête Rational Publishing Engine ne spécifie pas de filtre ; les clauses de filtre et de tri sont distinctes de la requête. Chaque élément de schéma, à l'exception de la requête, est défini par le biais d'une requête Rational Tau native. Cette requête, exprimée en OCL, extrait les données Rational Tau. Par exemple, l'élément racine sous l'élément de modèle model.rootResource est associé à la requête Rational Tau GetModelRoots().

Procédure

  1. Affectez des requêtes.
    1. Dans Document Studio, ouvrez la vue Schéma de source de données.
    2. Ajoutez des éléments au canevas.
    3. Faites glisser les requêtes de la vue Schéma de source de données dans les éléments.
    Une requête est affectée à un élément de canevas ; vous pouvez utiliser les attributs du type de requête, l'élément déplacé à partir de la vue Schéma de source de données, n'importe où dans l'élément de canevas et ses éléments enfant.
  2. Affectez une limite à l'élément de requête.
    Remarque : Vous pouvez traiter un sous-ensemble d'éléments de canevas en affectant une limite aux éléments de requête.
    1. Dans Document Studio, sélectionnez l'élément de canevas qui contient la requête.
    2. Dans la vue Propriétés, sélectionnez l'onglet Données.
    3. Pour la propriété Limite, entrez le nombre d'objets de la source de données à utiliser dans la requête correspondante. Si la valeur 0 (zéro) est spécifiée, aucune limite n'est définie pour la requête.
  3. Affectez des propriétés récurrentes aux requêtes. La récursivité des données permet d'extraire toutes les exigences enfant d'une exigence source principale dans un schéma.
    1. Sélectionnez l'élément qui contient la requête.
    2. Dans la vue Propriétés, pour la propriété Niveau récursif, indiquez à combien de niveaux se trouve la requête.
    3. Pour la propriété Segments récursifs, entrez le nombre de fois que les segments sont répétés dans la requête.
    Voir l'exemple ci-dessous sur les niveaux récursifs et les segments récursifs.
  4. Sauvegardez vos modifications.

Résultats

Lorsque vous appliquez une requête à un élément, trois indicateurs visuels s'affichent en bleu par défaut dans l'éditeur de contenu de canevas :
  • Le nom du schéma de source de données.
  • Le contexte affiché avec un signe dollar ($).
  • Le nom de la requête.
Elément Cellule auquel une requête est appliquée
Conseil : Lorsque vous effacez les informations des requêtes, Effacer les références et Effacer les données fonctionnent différemment. Effacer les références n'est disponible que si vous sélectionnez un élément qui possède une requête. Effacer les références supprime tous les attributs, les requêtes, les filtres, les tris et les conditions sur l'élément que vous avez sélectionné et ses éléments enfant, si des requêtes ou des attributs leur ont également été affectés. Effacer les données supprime tous les attributs, les requêtes, les filtres, les tris et les conditions sur l'élément que vous avez sélectionné et ses éléments enfant. Les pages originales, les styles et les propriétés de formatage ne sont pas supprimées.

Exemple : niveau récursif et segments récursifs

Vous pouvez afficher une liste des exigences logicielles à l'aide de la requête PRRequirement dans le schéma IBM Rational RequisitePro disponible dans les exemples installés avec Rational Publishing Engine : %RPE_HOME%\source\XML\examples\RequisitePro.xsd

Pour chaque PRRequirement, vous pouvez extraire toutes les exigences enfant et, pour chaque exigence enfant, extraire toutes les exigences enfant sans ajouter chaque requête à votre canevas.

Au lieu d'ajouter chacune des requêtes suivantes :
  • [$1] Project/Requirements/PRRequirement pour extraire les PRRequirements.
  • [$2] $1/Children/Relationship/RelatedReq pour extraire les exigences enfant de chaque PRRequirement.
  • [$3] $2/Children/Relationship/RelatedReq pour extraire les exigences enfant de chaque exigence enfant de chaque PRRequirement.
Vous pouvez créer automatiquement une requête pour ces exigences.
  1. Ajoutez la requête Project/Requirements/PRRequirement/Children/Relationship/RelatedReq à un élément.
  2. Ajoutez des valeurs aux propriétés Niveau récursif et Segments récursifs :
    • Pour la propriété Niveau récursif, entrez 4.

      Niveau récursif indique à combien de niveaux se trouve la requête. Si vous entrez la valeur 1 ou une valeur supérieure, vous devez également définir une valeur 1 ou une valeur supérieure pour la propriété Segments récursifs.

    • Pour la propriété Segments récursifs, entrez 3.
      Segments récursifs représente le nombre de fois que les segments sont répétés dans la requête. Les segments de cet exemple sont Children/Relationship/RelatedReq.
      Remarque : Le nombre défini dans la propriété Segments récursifs ne doit pas être supérieur au nombre de segments contenus dans la requête. La requête parent n'est pas incluse en tant que segment.
  3. Exécutez le rapport à tester.
    Lors de l'exécution du rapport, ces requêtes sont incluses :
    • [$1] – Project/Requirements/PRRequirement/Children/Relationship/RelatedReq
      Remarque : La première requête doit inclure le contexte intégral de la requête.
    • [$2] – $1/ Children/Relationship/RelatedReq
    • [$3] - $2/Children/Relationship/RelatedReq
    • [$4] – $3/Children/Relationship/RelatedReq
    Si vous remarquez que le nombre défini pour la propriété Segments récursifs est supérieur au nombre de segments contenus dans la requête, exécutez l'une des deux options suivantes pour corriger le problème :
    • Sélectionnez l'élément auquel est appliquée la propriété Segments récursifs. Dans la vue Propriétés, sélectionnez l'onglet Données et diminuez la valeur de la propriété des segments récursifs.
    • Concevez de nouveau la requête de manière à démarrer avec une requête parent différente. Si la valeur Segments récursifs possède un segment de trop, créez un élément de conteneur et ajoutez une requête qui se trouve un niveau au-dessus de la requête parent de l'élément existant. Déplacez ensuite l'élément existant dans l'élément de conteneur.

Que faire ensuite

Conseil : Vous pouvez rechercher une liste des requêtes et des attributs en cliquant sur un élément à l'aide du bouton droit de la souris et en sélectionnant Recherche > Références de données dans l'élément. La vue Recherche s'ouvre et une liste des requêtes et des attributs s'affiche. Vous pouvez cliquer deux fois sur une requête ou un attribut dans les résultats pour en éditer le contenu.

Vous pouvez rechercher une liste des affectations de variable, des attributs et des requêtes utilisés dans un élément en cliquant sur ce dernier à l'aide du bouton droit de la souris et en sélectionnant Recherche > Toutes les références dans l'élément. La vue Recherche s'ouvre et une liste s'affiche. Vous pouvez cliquer deux fois sur un élément dans les résultats pour l'éditer.

Vous pouvez rechercher une requête ou un attribut dans la vue Schémas de source de données à partir de l'élément auquel il est appliqué en cliquant sur cet élément à l'aide du bouton droit de la souris et en sélectionnant Recherche > Accéder au schéma. La vue Schéma de source de données s'ouvre et la requête ou l'attribut est mis en évidence.


Commentaires