EMF および UML データ・セット用の追加 XPath 関数

XPath 1.0 Core Function Library および JET で指定する XPath 関数に加えて、以下の関数が、EMF および UML データ・セットの表マッピングおよび列マッピングで使用できます。
注: XPath ステートメント内にコレクションを戻す関数を使用する場合は、 そのコレクションを 1 つのベースを持つ索引付きコレクションとして扱います。

Collection<Diagram> getDiagrams (xpath)

この関数は、1 つ以上の UML 要素に対する XPath 式を取り、要素に含まれる UML ダイアグラムのコレクションを戻します。

引数
xpath: 1 つ以上の UML 要素に対する XPath 式
結果
指定された UML 要素に含まれる UML ダイアグラムのコレクション
適用
「行マッピング (Row Mapping)」ページで、この関数を使用して、UML ダイアグラムのコレクションを生成します。
「列マッピング」ページで、この関数を使用して、さらにコレクションを照会します (例えば、コレクションの count 値を取得するため)。
関数は、UML ドライバーで使用可能です。
この例では、モデルのすべてのダイアグラムが戻されます。

     getDiagrams( //*)

先頭に戻る

Blob getDiagramImage (xpath, [resWidth], [resHeight])

この関数は、ダイアグラム要素に対する XPath 式を取り、blob のダイアグラム・イメージ・データが、指定されている場合には、最大の解像度で戻されます。

引数
xpath: ダイアグラム要素に対する XPath 式
resWidth (オプション): 最大解像度幅 (ピクセル単位) を表す int
resHeight (オプション): 最大解像度高さ (ピクセル単位) を表す int
結果
blob ダイアグラム・イメージ・データ
適用
「列マッピング」ページでこの関数を使用して、イメージ列をセットアップします。ダイナミック・イメージ要素への入力としてこの列を使用できます。オプションの最大解像度パラメーターを使用して、ダイアグラム・イメージをレンダリングするために必要とされるメモリーをコントロールします。 解像度が低くなるほど、必要なメモリーが少なくなりますが、イメージの質も悪くなります。
2 つのオプションの引数を省略するか、これらのオプションに値 -1 を割り当てることで、大きさに対して最大解像度が指定されていないことを示すことができます。レポートの柔軟性を高めるために、解像度の値をハード コーディングするのではなく、レポート・パラメーターとしてユーザーに公開します。
関数は、oda-diagrams プラグインがインストールされていれば、UML および EMF ドライバーの両方で使用可能です。
この例では、ダイアグラム・イメージが制約を受けることなく戻されます。

     getDiagramImage(.)

この例では、前の例と同じ結果が戻されます。

     getDiagramImage(., -1, -1)

この例では、ダイアグラム・イメージが、最大解像度 800 x 600 ピクセルで戻されます。

     getDiagramImage(., 800, 600)

この例では、ダイアグラム・イメージが、レポート・ユーザーが指定する解像度で戻されます。

     getDiagramImage(., $resWidth, $resHeight)

先頭に戻る

String getDiagramHtmlImage (xpath, genPath, [tileWidth], [tileHeight])

この関数は、ダイアグラム要素に対する XPath 式を取り、タイル表示されたダイアグラム・イメージをレンダリングする HTML コードのスニペットを表すストリングを戻します。

引数
xpath: ダイアグラム要素に対する XPath 式
genPath: タイル生成に使用されるファイル・システムの一時ディレクトリーへのパス
tileWidth (オプション): ダイアグラム・イメージ・タイルの最大幅 (ピクセル単位)
tileHeight (オプション): ダイアグラム・イメージ・タイルの最大高さ (ピクセル単位)
適用
「列マッピング」ページでこの関数を使用して、イメージ列をセットアップします。ダイナミック・テキスト (HTML) 要素への入力としてこの列を使用できます。関数は、オプション・パラメーター tileWidth および tileHeight によってサイズが指定されたタイルに分割することにより、ダイアグラム・イメージをレンダリングします。
オプション・パラメーターを省略するか、これらのオプション・パラメーターに値 -1 を割り当てることで、デフォルトのタイル・サイズを表すことができます。タイル・イメージは、指定された genPath フォルダーに生成されます。 このフォルダーは、関数が呼び出された後も消去されませんが、呼び出しが繰り返されると以前のイメージは警告なく上書きされます。タイル・サイズを使用してダイアグラムをレンダリングするのに必要な最大メモリーをコントロールします。 タイル・サイズが小さくなるほど、必要なメモリーが少なくなりますが、タイルの数は多くなります。
この関数は、ページ・サイズを制限しない、HTML などのレポート出力フォーマットのみで使用してください。
レポートの柔軟性を高めるために、genPath およびタイル・サイズの値をハード コーディングするのではなく、レポート・パラメーターとしてユーザーに公開します。
関数は、oda-diagrams プラグインがインストールされていれば、UML および EMF ドライバーの両方で使用可能です。
この例では、デフォルトのタイル・サイズを使用して、イメージが分割されます。

     getDiagramHtmlImage(., "c:/temp")

この例では、前の例と同じ結果が戻されます。

     getDiagramHtmlImage(., "c:/temp", -1, -1)

この例では、1000 x 1000 ピクセルのタイル・サイズを使用してイメージが分割されます。

     getDiagramHtmlImage(., “c:/temp”, 1000, 1000)

先頭に戻る

String getXMIID (xpath)

この関数は、要素に対する XPath 式を取り、要素の XMI ID 値を戻します。

引数
xpath: 要素に対する XPath 式
結果
要素の XMI ID 値
適用
「列マッピング」ページでこの関数を使用します。
この関数は、UML および EMF ドライバーの両方で使用可能です。
getXMIID(.)
先頭に戻る

String getXMIType (xpath)

この関数は、要素に対する XPath 式を取り、要素の XMI タイプ値を戻します。

引数
xpath: 要素に対する XPath 式
結果
要素の XMI タイプ
適用
「列マッピング」ページでこの関数を使用します。
この関数は、UML および EMF ドライバーの両方で使用可能です。
この例では、現行の要素の XMI タイプが戻されます。
getXMItype(.)
先頭に戻る

String getURI (xpath)

この関数は、単一の要素に解決する XPath 式を取り、その要素の URI のストリング表記を戻します。URI は、リソース全体で固有であり、このことにより、URI はデータ・セットを結合するために使用する適切な列になります。

引数
xpath: 単一要素に対する XPath 式
結果
要素の URI ストリング
適用
「列マッピング」ページでこの関数を使用します。
この関数は、UML および EMF ドライバーの両方で使用可能です。
この例では、現行要素の URI を表すストリングを戻します。

     getURI(.)

先頭に戻る

EObject resolveURI (uri)

この関数は、指定した URI を解決し、対応する要素を戻します。

引数
uri: 要素の URI
結果
指定された URI を持つ要素
適用
「行マッピング」ページまたは「列マッピング」ページでこの関数を使用します。
この関数は、UML および EMF ドライバーの両方で使用可能です。
この例では、データ・セット・パラメーターとして渡される要素の URI を解決します。

     resolveURI($element)

注:

resolveURI 関数を使用する場合、「行マッピング (Row Mapping)」ページの 「すべてのデータ・ソース・インスタンス・モデルに対して評価を行う (Evaluate for every data source instance model)」 のチェック・ボックスをクリアするようにしてください。次の式のナビゲーションに応じて判断を行います。

  • 式にモデル・ルートから始まるナビゲーションが含まれる場合、チェック・ボックスをクリアしないでください。この場合にチェック・ボックスをクリアすると、ルートからのナビゲーションが失敗し、例外が発生します。
  • 他の場合には、チェック・ボックスをクリアします。

    通常、データ・セットの行マッピング照会は、データ・セットにバインドされるデータ・ソースに定義されるインスタンス・モデルのループで実行されます。 言い換えると、照会は、インスタンス・モデルでループとして実行され、各モデルに対してそのモデルへの照会のコンテキストを変更し、その結果生じる行オブジェクトを収集します。しかし、resolveURI 関数を使用すると、行マッピング照会は代わりに、照会へのコンテキストとして、オブジェクト・パラメーターを使用できます (例: resolveURI($class)/ownedAttribute)。そのような照会では、通常の照会のようなモデルのルートからのナビゲーションはありません。つまり、そのような照会を実行した結果は、コンテキスト・モデルにかかわらず同じです。これにより、照会は結果セットが変わらないのに各インスタンス・モデルに対して何度も実行されるため、パフォーマンス上の問題が生じる可能性があります。

先頭に戻る

Collection<EObject> instanceOf (xpath, type)

この関数は、XPath 式とタイプ・ストリングを取り、検出されるそのタイプのすべての要素のコレクションを戻します。

引数
xpath: 1 つ以上の要素に対する XPath 式
type: 修飾されたメタタイプを表す、フォーマット (packagePrefix:typeName) のストリング
結果
指定されたタイプに準拠した要素のサブコレクション
適用
「行マッピング」ページまたは「列マッピング」ページでこの関数を使用します。
「列マッピング」ページで、この関数を使用して、要素のコレクションを戻し、次に追加の XPath 式 (例えば、count) を使用して単純値を照会します。
この関数は、UML および EMF ドライバーの両方で使用可能です。
この例では、タイプ uml:Class のすべての要素が戻されます。

     instanceOf(//*, "uml:Class")

先頭に戻る

Collection<EObject> oclQuery (xpath, boolean_ocl_expression)

この関数は、XPath 式およびブール値の OCL 照会式を取り、OCL 照会が true を戻す XPath 式から要素のサブセットを戻します。

引数
xpath: XPath 式
boolean_ocl_expression: ブール値の OCL 照会ストリング
結果
指定されたタイプに準拠した要素のサブコレクション
適用
「行マッピング」ページまたは「列マッピング」ページでこの関数を使用します。
「列マッピング」ページで、この関数を使用して、要素のコレクションを戻し、次に追加の XPath 式 (例えば、count) を使用して単純値を照会します。
この関数は、UML および EMF ドライバーの両方で使用可能です。
この例では、タイプ uml::Dependency のすべての要素が戻されます。

     oclQuery(//*, "self.oclIsKindOf(uml::Dependency)")

先頭に戻る

Object oclEvaluate (xpath , ocl_expression)

この関数は、単一要素に対する XPath 式と OCL 照会ストリングを取り、要素の照会を評価してから結果を戻します。

引数
xpath: 単一要素に対する XPath 式
ocl_expression: OCL 照会ストリング
結果
指定された要素の OCL 式の評価の結果
適用
「行マッピング」ページまたは「列マッピング」ページでこの関数を使用し、要素の OCL 式を評価します。
この関数は、UML および EMF ドライバーの両方で使用可能です。
この例では、モデルのすべてのネストされたパッケージが戻されます (「行マッピング」ページ)。

     oclEvaluate(Model, ”self.nestedPackages”)

この例では、要素名が戻されます (「列マッピング」ページ)。

     oclEvaluate(., "name")

先頭に戻る

Collection<Element> getElementsWithStereotype (xpath, stereotype)

この関数は、1 つ以上の UML 要素に対する XPath 式、およびステレオタイプを取り、指定されたステレオタイプを持つ要素のコレクションを戻します。

引数
xpath: 1 つ以上の UML 要素に対する XPath 式
stereotype: フォーマット (profileName::stereotypeName) のステレオタイプの完全修飾名
結果
指定されたステレオタイプが適用される要素のサブコレクション
適用
「行マッピング」ページまたは「列マッピング」ページでこの関数を使用します。
「列マッピング」ページで、この関数を使用して、要素のコレクションを取得し、次に追加の XPath 式を使用します (例えば、単純値を照会する count)。
この関数は、UML ドライバーのみで使用可能です。
この例では、ビジネスの目的としてステレオタイプ化されたモデルのすべての要素が戻されます。

          getElementsWithSterotype(//*, "Business Modeling::BusinessGoal")

先頭に戻る

Object getStereotypePropertyValue (xpath, property)

この関数は、単一の UML 要素に対する XPath 式、およびステレオタイプ・プロパティーを取り、指定されたステレオタイプ・プロパティーの値を戻します。

引数
xpath: 単一 UML 要素に対する XPath 式
property: フォーマット (profileName::stereotypeName::propertyName) のステレオタイプ・プロパティーの完全修飾名
適用
「行マッピング」ページまたは「列マッピング」ページでこの関数を使用します。
この関数は、UML ドライバーのみで使用可能です。
この例では、ピリオドにより示されるビジネス・ルールの種類を表す列挙リテラルが戻されます。

     getStereotypePropertyValue( . , "Business Modeling::BusinessRule::Kind")

先頭に戻る
注: Eclipse 資料または開発者ガイドへのリンクなどの一部の情報は、製品ヘルプのトピックからのみ参照できます。
関連タスク
カスタム XPath 関数の書き込み
関連情報
XPath 1.0 コア関数ライブラリーによって指定される XPath 関数 (XPaths functions specified by the XPath 1.0 Core Function Library)
Eclipse JET から使用可能な追加関数 (Additional functions available from Eclipse JET)
ユーザーのカスタム関数を登録するための XPath カスタム関数拡張ポイント (XPath custom functions extension point for registering users' custom functions)

フィードバック