型キャストによって、照会の結果を絞り込み、Rational® Publishing Engine は .xsd スキーマ・タイプを、プログラミング言語のキャスト操作のようにさまざまな型で構成できます。
型は、複数の有効な型を持つことができるスキーマ・エレメントには割り当てられません。
これらのエレメントに対する型は、「データ・ソース・スキーマ」ビューの「キャスト先の型」機能で定義します。
始める前に
Rational Publishing Engine 1.2 およびそれ以前では、キャストは照会の最終セグメントに対してのみ適用できます。
照会の例:
- 正しい例: Packages/Packages/NestedElements/ModelElement(Class)
- 誤りの例: Packages/Packages/NestedElements/ModelElement(Class)/Attributes
Rational Publishing Engine 1.2 で、2 番目の照会例を有効にするには、それを次の 2 つの照会に分割する必要があります。
- $1 - Packages/Packages/NestedElements/ModelElement(Class)
- $2 - $1/Attributes
Rational Publishing Engine 1.2.0.1 では、キャストは照会の任意のセグメントに適用できます。
このタスクについて
型キャストは、データ・ソース・エレメントの代替フィルターとして機能します。
キャスト照会は、通常照会の結果をフィルタリングして、選択した型にキャストできるエレメントのみを戻します。
型の選択後には、それは anyType エレメントの下の「データ・ソース・スキーマ」ビューで使用可能になります。
キャストを使用して作成された照会は、すべての子エレメントと、型キャストの属性にアクセスできます。
キャスト照会によって返される結果セットは、同等の IsKindOf 述語でフィルタリングされる照会によって返される結果セットと同じです。
キャスト照会とフィルタリングされた照会との違いとして、キャスト照会はキャスト型属性と子エレメントへのアクセスを付与するのに対して、フィルタリングされた照会はアクセスしません。
注: IBM® Rational Tau および IBM Rational Rhapsody® のデータ・ソースは、型キャストをサポートします。
手順
コンテナー・エレメントをテンプレート・コンテンツ・エディターにドラッグします。
- 「データ・ソース・スキーマ」ビューから、ownedMember クラスをテンプレートにドラッグします。
- 参照しやすいように、コンテナーの名前は Class Container にします。
アイコンをクリックして、ownedMember の Class 型キャストを追加します。
段落エレメントをドラッグし、それをコンテナー・エレメントの下に配置し、Name(string) 属性をドラッグして Class Container 内にパッケージの名前を追加します。
テキスト・エレメントをテンプレート・コンテンツ・エディターにドラッグします。
- 「データ・ソース・スキーマ」ビューから、静的テキスト (Active) をテキスト・エレメントにドラッグします。
- テキスト・エレメントを右クリックし、をクリックします。
- 「現行エレメントの条件を設定」ウィンドウで、「属性」を展開し、IsActive 属性のチェック・ボックスを選択します。
- 「左オペランド」には、IsActive を選択します。
- 「演算子」には、「等しい」を選択します。
- 「右オペランド」には、true を入力します。
- 「追加」をクリックします。 この条件は IsActive == "true" と表示されます。
- 「OK」をクリックします。
タスクの結果
Class キャストをパッケージの ownedMember エレメントに追加することで、次の照会を定義できます。これは同じコンテキストからのクラスである定義のみを返します。