Přetypování typu upřesňuje výsledky dotazu a umožňuje produktu Rational Publishing Engine považovat typy schémat .xsd za jiné typy, podobně jako operace přetypování v programovacích jazycích. Prvky schématu, které mohou mít více platných typů, nemají přiřazen typ. Pro tyto prvky musíte typy definovat pomocí vlastnosti Přetypovat na typ v pohledu schématu zdroje dat.
Než začnete
V produktu
Rational Publishing Engine 1.2
a starší lze přetypování použít pouze na posledním segmentu dotazu. Příklady dotazů:
- Správně: Packages/Packages/NestedElements/ModelElement(Class).
- Nesprávně: Packages/Packages/NestedElements/ModelElement(Class)/Attributes.
Chcete-li vytvořit druhý příklad dotazu platný v produktu
Rational Publishing Engine 1.2,
musíte jej rozdělit do dvou dotazů:
- $1 - Packages/Packages/NestedElements/ModelElement(Class)
- $2 - $1/Attributes
V produktu Rational Publishing Engine 1.2.0.1 lze přetypování použít na jakémkoli segmentu dotazu.
Informace o této úloze
Přetypování typu funguje jako alternativní filtr pro prvky zdrojů dat. Přetypování dotazu filtruje výsledky běžného dotazu tak, aby se zobrazily pouze prvky, které lze přetypovat na zvolený typ. Když vyberete typ, bude dostupný v pohledu Schéma zdroje dat pod prvkem anyType.
Dotazy sestavené pomocí přetypování umožní přístup ke všem podřízeným prvkům a atributům přetypování typu. Výsledná sada vrácená přetypovávaným dotazem bude shodná s výslednou sadou, kterou vrátí dotaz filtrovaný ekvivalentním predikátem IsKindOf. Rozdíl mezi přetypovávaným dotazem a filtrovaným dotazem je, že přetypovávaný dotaz poskytne přístup
k podřízeným prvkům a atributům přetypovávaného typu, zatímco filtrovaný dotaz ne.
Poznámka: Zdroje dat produktů IBM® Rational Tau a IBM Rational Rhapsody podporují přetypování typu.
Postup
- Přetáhněte prvek
Kontejner do editoru obsahu šablony.
- Z pohledu Schéma zdroje dat přetáhněte do šablony třídu ownedMember.
- Pojmenujte kontejner Kontejner třídy pro stručné shrnutí.
- Klepněte na ikonu
a vyberte přetypování typu Class pro ownedMember.
- Přetáhněte prvek
Odstavec a umístěte jej pod kontejnerový prvek, a přetažením atributu Name(string) přidejte do
kontejneru třídy Class Container název balíku.
- Přetáhněte prvek
Text do editoru obsahu šablony.
- Z pohledu Schéma zdroje dat přetáhněte do textového prvku statický text (Active).
- Klepněte pravým tlačítkem myši na textový prvek, a pak klepněte na volbu .
- V okně Nastavit podmínku pro aktuální prvek rozbalte položku Atributy a zaškrtněte políčko atributu IsActive.
- Pro Levý operand vyberte IsActive.
- Pro Operátor vyberte Rovná se.
- Pro Pravý operand zadejte true.
- Klepněte na tlačítko Přidat. Podmínka se zobrazí jako: IsActive == "true"
- Klepněte na tlačítko OK.
Výsledky
Přidání přetypování třídy Class do prvku ownedMember balíku vám umožní definovat tento dotaz vracející pouze definice, kterými jsou třídy ze stejného kontextu: