Transtypage de type

Le transtypage de type affine les résultats d'une requête et permet à Rational Publishing Engine de traiter les types de schéma .xsd comme des types différents, similaires aux opérations de transtypage des langages de programmation. Aucun type n'est affecté aux éléments de schéma qui peuvent avoir plusieurs types valides. Vous définissez les types de ces éléments à l'aide de la fonction Transtyper vers le type de la vue Schéma de source de données.

Pourquoi et quand exécuter cette tâche

Le transtypage de type sert de filtre de remplacement aux éléments de source de données. Une requête de transtypage filtre les résultats de la requête standard pour ne renvoyer que les éléments qui peuvent être transtypés vers le type sélectionné. Une fois que le type a été sélectionné, il devient disponible dans la vue Schéma de source de données sous l'élément anyType. Les requêtes générées à l'aide du transtypage permettent d'accéder à tous les attributs et les éléments enfant du transtypage de type. L'ensemble de résultats renvoyé par une requête de transtypage est identique à l'ensemble de résultats renvoyé par une requête filtrée avec un prédicat IsKindOf équivalent. La requête de transtypage et la requête filtrée diffèrent dans la mesure où la requête de transtypage donne accès aux attributs de type de transtypage tandis que la requête filtrée ne le permet pas.

Remarque : Les sources de données IBM® Rational Tau et IBM Rational Rhapsody prennent en charge le transtypage de type.

Procédure

  1. Faites glisser un élément Conteneur icône Conteneur dans l'éditeur de contenu de canevas.
  2. Dans la vue Schéma de source de données, faites glisser la classe ownedMember dans le canevas.
  3. Nommez le conteneur Conteneur de classe pour plus de commodité.
  4. Cliquez sur l'icône icône Transtyper vers le Type et sélectionnez le transtypage de type Classe pour ownedMember.
  5. Faites glisser un élément Paragraphe icône Paragraphe et placez-le sous l'élément de conteneur, puis ajoutez le nom du package à l'intérieur du Conteneur de classe en faisant glisser l'attribut Name(string).
  6. Faites glisser un élément Texte icône Texte dans l'éditeur de contenu de canevas.
  7. Dans la vue Schéma de source de données, faites glisser le texte statique (Active) dans l'élément de texte.
  8. Cliquez sur l'élément de texte à l'aide du bouton droit de la souris, puis sélectionnez Données > Editer une condition.
  9. Dans la fenêtre Définition de la condition pour l'élément en cours, développez Attributs et cochez la case de l'attribut IsActive.
  10. Pour l'opérande de gauche, sélectionnez IsActive.
  11. Pour l'opérateur, sélectionnez Est égal à.
  12. Pour l'opérande de droite, entrez true.
  13. Cliquez sur Ajouter. La condition s'affiche comme suit : IsActive == "true"
  14. Cliquez sur OK.

Résultats

L'ajout d'un transtypage Classe à l'élément ownedMember d'un package permet de définir la requête suivante, qui ne renvoie que les définitions correspondant à des classes du même contexte :

Transtypage de type


Retour d'informations