Rzutowanie typów ogranicza wyniki zapytania i umożliwia produktowi
Rational Publishing Engine
traktowanie typów schematów .xsd jako pochodzących z
innego typu, podobnie jak operacje rzutowania w językach programowania. Typ nie jest przypisywany do elementów schematu, które mogą mieć więcej niż jeden poprawny typ. Typy dla tych elementów definiuje się przy użyciu opcji Rzutuj na
typ dostępnej w widoku schematu źródła danych.
Zanim rozpoczniesz
W produkcie
Rational Publishing Engine w wersji 1.2 lub starszej rzutowanie można zastosować tylko do ostatniego segmentu zapytania. Przykłady zapytań:
- Poprawne:
Pakiety/Pakiety/ZagnieżdżoneElementy/ElementModelu(Klasa)
- Niepoprawne:
Pakiety/Pakiety/ZagnieżdżoneElementy/ElementModelu(Klasa)/Atrybuty
Aby drugie przykładowe zapytanie było poprawne w produkcie
Rational Publishing Engine 1.2, należy podzielić je na dwa zapytania:
- $1 -
Pakiety/Pakiety/ZagnieżdżoneElementy/ElementModelu(Klasa)
- $2 - $1/Atrybuty
W produkcie Rational Publishing Engine
1.2.0.1 rzutowanie można zastosować do dowolnego segmentu zapytania.
O tym zadaniu
Rzutowanie typów działa jak alternatywny filtr dla elementów źródła danych. Zapytanie rzutowania filtruje wyniki zwykłego zapytania i zwraca
tylko te elementy, które mogą być rzutowane na wybrany typ. Po wybraniu typu staje się on dostępny w widoku Schemat źródła danych w
elemencie anyType.
Zapytania zbudowane z użyciem rzutowania umożliwiają dostęp do wszystkich elementów potomnych i atrybutów
rzutowanego typu. Tabela wynikowa zwracana przez zapytanie rzutowania jest identyczna z tabelą wynikową zwracaną przez zapytanie, które
jest filtrowane przy użyciu równoważnego predykatu IsKindOf. Różnica między zapytaniem rzutowania i zapytaniem filtrowanym jest taka,
że zapytanie rzutowania zapewnia dostęp do atrybutów i elementów potomnych rzutowanego typu, a zapytanie filtrowane nie.
Procedura
- W widoku Paleta przeciągnij element
Kontener do edytora
treści szablonu.
- W widoku Schemat źródła danych przeciągnij
klasę ownedMember do elementu kontenera.
- Opcjonalne: Nadaj kontenerowi nazwę Kontener
klasy, aby ułatwić odwoływanie się do niego.
- Kliknij ikonę
Rzutuj na typ,
aby dodać rzutowanie typu Klasa dla klasy
ownedMember.
- Dodaj element
Akapit poniżej
elementu kontenera.
- W widoku Schemat źródła danych przeciągnij atrybut
Name(string) do kontenera Kontener
klasy, aby dodać nazwę pakietu.