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
- Faites glisser un élément Conteneur
dans l'éditeur de contenu de canevas.
- Dans la vue Schéma de source de données,
faites glisser la classe ownedMember dans le canevas.
- Nommez le conteneur Conteneur de classe pour plus de commodité.
- Cliquez sur l'icône
et sélectionnez le transtypage de type Classe pour ownedMember.
- Faites glisser un élément 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).
- Faites glisser un élément Texte
dans l'éditeur de contenu de canevas.
- Dans la vue Schéma de source de données,
faites glisser le texte statique (Active) dans l'élément de texte.
- Cliquez sur l'élément de texte à l'aide du bouton droit de la souris, puis sélectionnez .
- 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.
- Pour l'opérande de gauche, sélectionnez IsActive.
- Pour l'opérateur, sélectionnez Est égal à.
- Pour l'opérande de droite, entrez true.
- Cliquez sur Ajouter. La condition s'affiche comme suit : IsActive == "true"
- 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 :