XSD スキーマ・コンポーネントの再定義

スキーマを表わすモデル内のコンポーネントの定義を置換したり、UML から XSD への変換を実行して再定義する XSD スキーマを作成することによって、XSD スキーマを拡張または変更できます。再定義されたスキーマは、他のスキーマを変更または拡張します。 スキーマ再定義は、既存の XSD スキーマから新規の XSD スキーマをシードするのに役立ちます。
このタスクについて

UML モデル内でファイルを視覚化できるワークスペースに XSD ファイルをインポートすることもできます。モデル内のスキーマ・コンポーネントを再定義したり、変換を実行して再定義するスキーマを作成することができます。

スキーマの再定義メカニズムによって、スキーマ・コンポーネントの新規の定義を指定でき、スキーマ・コンポーネントに新規の定義を指定できない組み込みメカニズムよりも柔軟性が提供されます。

以下のコンポーネント型を再定義することができます。
  • 単純型
  • 複合型
  • 名前付きモデル・グループ
  • 属性グループ
スキーマ・コンポーネントを再定義すると、コンポーネントの元の定義と元のコンポーネントへの参照が置き換えられます。

スキーマを再定義するには、ワークスペースに XSD スキーマがある必要があります。XSD 変換プロファイルをご使用のモデルに適用する必要があります。モデルには、少なくとも 1 つ以上の単純型または複合型、および 1 つの名前空間が含まれている必要があります。

以下の手順では、Package1 という UML パッケージ内にある Class1 という複合型を再定義する方法を説明します。この複合型には、string 型である attribute1 という属性を 1 つ含みます。この例では、Class1 を再定義するスキーマを含む Package2 という名前の新規パッケージを作成します。

  1. ソースの UML モデルにパッケージを作成します。例えば、Package2 という名前のパッケージを作成します。
  2. «schema» ステレオタイプを新規パッケージに適用します。
  3. «schema» ステレオタイプの targetNamespace 属性を、再定義するスキーマのターゲット名前空間に等しいものとして設定します。

    このイメージは、「プロパティー」ビューの「ステレオタイプ」ページを示しています。

    注: また、元のスキーマの名前空間に等しいものとして、変換構成のターゲット名前空間プロパティーを設定することもできます。
  4. 再定義する型と同じ複合型を作成します。 例えば、Package1 で Class1 を再定義する場合、Package2 に Class1 というクラスを作成し、«complexType» ステレオタイプを新規バージョンの Class1 に適用する必要があります。

    このイメージは、モデリング・パースペクティブで UML モデルを表し、複合型のパッケージを含みます。

  5. 再定義するタイプと再定義されるタイプ間の汎化関係を作成します。例えば、Package2 の Class1 と Package1 の Class1 間の汎化関係を作成します。

    このイメージは、Package1 の Class1 が親で、Package2 の Class1 が子である汎化関係を表します。

  6. «redefine» ステレオタイプを汎化関係に適用します。

    このイメージは、再定義ステレオタイプが適用されている汎化関係を表します。Package1 の Class1 は親で、Package2 の Class1 は子です。

  7. 作成したタイプを再定義します。例えば、タイプの定義を変更し、そのタイプに属性を追加することができます。例えば、Package2 に配置されている Class1 は、その型を UnlimitedNatural に変更することによって、attribute1 を再定義します。また、string 型の attribute2 という新規の属性を追加することもできます。

    再定義する型は、attribute1 という名前の UnlimitedNatural、attribute2 という名前の新規 String を含みます。

  8. 「ファイル」 > 「保存」をクリックします。
  9. UML から XSD への変換構成を編集します。再定義するスキーマを変換のソースとして指定します。この例では、変換のソースとして Package2 を指定します。
  10. 「ファイル」 > 「保存」をクリックします。
  11. UML から XSD への変換を実行します。
次のタスク
変換によって、変換構成内で指定するターゲット・プロジェクトに、再定義するスキーマ・ファイルが生成されます。再定義するスキーマ・ファイルは、再定義されたスキーマ・コンポーネントを含みます。schemaLocation 属性は、再定義されたスキーマの名前を指定します。以下のイメージは、変換によって生成された再定義するスキーマを表示します。

このイメージは、変換によって生成される XSD ファイルを示しています。Attribute1 は long 型に、attribute2 は string 型に変換されます。


フィードバック