XSD 変換モデリング・フィーチャーを有効にするには、「設定」ウィンドウの「一般、機能」ページで、「XSD 変換プロファイル」機能を選択します。
パッケージ、クラス、プロパティー、汎化、アソシエーション、および依存 UML モデル要素を使用して、Extensible Markup language (XML) Schema Definition (XSD) 要素のサブセットをモデル化できます。 ただし、XSD 変換プロファイルには、ほとんどの XSD スキーマ要素 (単純型、複合型、属性、要素、および再利用可能グループなど) のモデリングに使用できるステレオタイプが含まれています。 ソース・モデルに対する XSD 変換プロファイルの適用、およびソース・モデル要素に対するプロファイルのステレオタイプの適用の利点は、モデルを妥当性検査してエラーの有無を調べられることです。
XSD モデリング・プロジェクトの作成時に、2 つのテンプレートから選択できます。テンプレートを使用すると、XSD 変換プロファイルを適用し、プロジェクトに必要な構造の一部を提供できるため、モデルの開発にかかる時間を短縮できます。
| テンプレート | 説明 |
|---|---|
| 空の XSD モデル | このテンプレートは、新規プロジェクトと、XSD 変換プロファイルが適用された UML モデルを作成します。 |
| XSD モデル | このテンプレートは、新規プロジェクトと、XSD 変換プロファイルが適用された UML モデルを作成します。XSD モデルには、「XSD Model Building Blocks」という名前のパッケージを含む、一部の構造が含まれます。 このパッケージには、XSD モデルの構築に役立つモデル・コンテンツが含まれています。 ビルディング・ブロックには、インポート済みの必要なモデル・ライブラリーおよび適用済みの XSD ステレオタイプが含まれています。 |
適切なステレオタイプが自動的に適用された特定の XSD スキーマ要素を作成できます。 クラスおよびフリー・フォーム図に形状を追加すると、パレットは XSD ツールを提供して UML から XSD への変換に使用されるモデリング成果物を生成します。 「プロジェクト・エクスプローラー」ビューおよびダイアグラム・エディターで、ポップアップ・メニューの「XSD の追加」コマンドを使用して、選択したコンテキストに基づくさまざまな XSD スキーマ要素を追加できます。
モデリングするスキーマの要素を詳細に記述する必要がない場合は、代わりにキーワードを使用して変換による XSD 要素の生成方法を示すことができます。
以下の表には、プロファイルのステレオタイプと、その関連するプロパティーおよび値がリストされています。
| ステレオタイプ | 適用可能要素 | プロパティー | プロパティーの記述および値 | 変換の結果 |
|---|---|---|---|---|
| «annotation» | コメント | kind | 注釈のタイプ: ドキュメンテーション、アプリケーション情報 | Annotation |
| language | 注釈の自然言語 | |||
| source | 注釈のソース | |||
| «attribute» | クラスのプロパティー | form | インスタンス文書で属性名が修飾されるかどうかを指定します。
|
単純型で、多重度が [0..1] である複合属性グループの属性 |
| use | 属性がオプションまたは必須のいずれであるかを指定します。
|
|||
| «attributeGroup» | クラス | 属性グループ | ||
| «complexType» | クラス | anonymous | true | 最上位の複合型宣言は生成されません。 このクラスへの参照は、属性や要素が無名型である場合の、属性または要素の宣言として生成されます。 |
| false (デフォルト) | 複合タイプ | |||
| block | 型置換をブロックするかどうかを指定します。
|
|||
| final | この型からその他の型を派生させるかどうかを指定します。
|
|||
| modelGroup | 型のコンテンツ・モデルを指定します。
|
|||
| maxOccurs、minOccurs | 複合型における、シーケンスおよび選択グループの最大および最小発生可能回数を指定します。 すべてのモデル・グループで、maxOccurs は 1、minOccurs は 0 または 1 にする必要があります。 |
|||
| mixed | 複合型が混合コンテンツを許可するかどうかを指定します。
|
|||
| «element» | クラスのプロパティー | block | 派生型の置換をブロックします。インスタンスでは、オリジナルの型のみ使用が許可されます。
|
属性 |
| final | グローバル要素に適用し、グローバル要素型からその他の型を派生できないことを指定します。
|
|||
| form | インスタンス文書で要素名が修飾されるかどうかを指定します。
|
|||
| nillable | この要素のインスタンスで xsi::nil を使用可能であるかどうかを指定します。この値はデフォルトで false に設定されます。 | |||
| «enumeration» | クラス | anonymous |
|
クラスが単純型を示すその他のクラスと汎化関係がある場合、XSD 列挙。 |
| «global» | クラス | クラスは 1 つのプロパティーしか持てません。 | 最上位の要素宣言 |
|
| «listOf» | 依存 | 依存関係のクライアントからの XSD リスト 項目型は、依存関係のサプライヤーになります。 |
||
| «modelGroup» | クラス | anonymous | true の場合、最上位のグループ宣言はスキーマに生成されず、このクラスへの参照はモデル・グループ参照に変換されます。 | グローバルかつ再使用可能な名前付きモデル・グループ。
デフォルトでは、変換によりシーケンス・モデルが作成される このクラスへの参照はモデル・グループ参照に変換される |
| modelGroup | グループのコンテンツ・モデルを指定
|
|||
| «redefine» | 汎化 | 再定義コンポーネントと、オリジナルのスキーマから変更されていないコンポーネントを含む新規スキーマ | ||
| «restriction» | 汎化 | 正規表現で指定されるパターンに一致する値の制限を持つスキーマ単純型 | ||
| «schema» | パッケージ | attributeFormDefault | ローカル属性宣言で修飾名を使用するかどうかを指定します。
|
パッケージと同じ名前を持つ XSD スキーマ |
| blockDefault | 複合型および要素宣言のブロック属性のデフォルト値を指定します。 ブロック属性により、要素の置換または型の置換をブロックするかどうかが決まります。
|
|||
| elementFormDefault | ローカル要素宣言が修飾名を使用するかどうか指定します。
|
|||
| finalDefault | 複合型、単純型、および要素宣言の最終属性用のデフォルト値を指定します。 最終属性は、型の派生が行われるかどうかを指定します。
|
|||
| targetNamespace targetNamespacePrefix | 変換構成に指定された targetNamespace および targetNamespacePrefix 値をオーバーライドします。 | |||
| «simpleType» | クラス | anonymous | true | クラスは無名型と見なされ、最上位型宣言は生成されません。 |
| false | クラスが XSD 組み込みデータ型、その他の単純型、または XSD 列挙に対する汎化を持つ場合は、単純型。 | |||
| final | この型からその他の型を派生させるかどうかを指定します。
|
|||
注: ファセット定義の詳細については、XSD ファセットを参照してください。
|
XSD スキーマが次の指定を定義するファセットを示します。
注: リストされたすべてのファセットを、すべての単純型に適用できるわけではありません。詳細は、UML から XSD への変換における単純型および適用可能なファセット を参照してください。
|
|||
| «unionOf» | 依存 | メンバーとして依存関係のサプライヤーを持つ、依存関係のクライアントから XSD 共用体が生成される 複数の単純型を示すクラスは、単純型を示すさまざまなクラスに対するこのような依存関係を持つことができます。 |
||
| «wildcard» | クラスのプロパティー | processContents | 属性および要素の置換の検証方法を指定
|
要素ワイルドカード プロパティーが attribute キーワードまたは «attribute» ステレオタイプを持つ場合、属性ワイルドカードも生成されます。 |
| namespace | 置換属性や置換要素を含むことができる名前空間を指定します。
|