Exemple : transtypage dans Rational Rhapsody

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.

Procédure

  1. Dans la vue Palette, 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 l'élément de conteneur.
  3. Facultatif : Nommez le conteneur Conteneur de classe pour plus de commodité.
  4. Cliquez sur l'icône Transtyper vers le type icône Transtyper vers le type pour ajouter le transtypage de type Classe pour ownedMember.
  5. Ajoutez un élément Paragraphe icône Paragraphe sous l'élément de conteneur.
  6. Dans la vue Schéma de source de données, faites glisser l'attribut Name(string) dans le Conteneur de classe pour ajouter le nom du package.

Retour d'informations