XSD 変換プロファイル

XSD 変換プロファイルでステレオタイプを使用すると、単純型、複合型、属性、要素、および再利用可能グループなどの XSD 要素を表記できます。

XSD 変換モデリング・フィーチャーを有効にするには、「設定」ウィンドウの「一般、機能」ページで、「XSD 変換プロファイル」機能を選択します。

パッケージ、クラス、プロパティー、汎化、アソシエーション、および依存 UML モデル要素を使用して、Extensible Markup language (XML) Schema Definition (XSD) 要素のサブセットをモデル化できます。 ただし、XSD 変換プロファイルには、ほとんどの XSD スキーマ要素 (単純型、複合型、属性、要素、および再利用可能グループなど) のモデリングに使用できるステレオタイプが含まれています。 ソース・モデルに対する XSD 変換プロファイルの適用、およびソース・モデル要素に対するプロファイルのステレオタイプの適用の利点は、モデルを妥当性検査してエラーの有無を調べられることです。

XSD モデル・プロジェクト・テンプレート

XSD モデリング・プロジェクトの作成時に、2 つのテンプレートから選択できます。テンプレートを使用すると、XSD 変換プロファイルを適用し、プロジェクトに必要な構造の一部を提供できるため、モデルの開発にかかる時間を短縮できます。

テンプレート 説明
空の XSD モデル このテンプレートは、新規プロジェクトと、XSD 変換プロファイルが適用された UML モデルを作成します。
XSD モデル このテンプレートは、新規プロジェクトと、XSD 変換プロファイルが適用された UML モデルを作成します。XSD モデルには、「XSD Model Building Blocks」という名前のパッケージを含む、一部の構造が含まれます。 このパッケージには、XSD モデルの構築に役立つモデル・コンテンツが含まれています。 ビルディング・ブロックには、インポート済みの必要なモデル・ライブラリーおよび適用済みの XSD ステレオタイプが含まれています。

XSD スキーマ要素の作成サポート

適切なステレオタイプが自動的に適用された特定の XSD スキーマ要素を作成できます。 クラスおよびフリー・フォーム図に形状を追加すると、パレットは XSD ツールを提供して UML から XSD への変換に使用されるモデリング成果物を生成します。 「プロジェクト・エクスプローラー」ビューおよびダイアグラム・エディターで、ポップアップ・メニューの「XSD の追加」コマンドを使用して、選択したコンテキストに基づくさまざまな XSD スキーマ要素を追加できます。

モデリングするスキーマの要素を詳細に記述する必要がない場合は、代わりにキーワードを使用して変換による XSD 要素の生成方法を示すことができます。

以下の表には、プロファイルのステレオタイプと、その関連するプロパティーおよび値がリストされています。

ステレオタイプ 適用可能要素 プロパティー プロパティーの記述および値 変換の結果
«annotation» コメント kind 注釈のタイプ: ドキュメンテーション、アプリケーション情報 Annotation
language 注釈の自然言語
source 注釈のソース
«attribute» クラスのプロパティー form インスタンス文書で属性名が修飾されるかどうかを指定します。
  • qualified
  • unqualified
  • default
単純型で、多重度が [0..1] である複合属性グループの属性
use 属性がオプションまたは必須のいずれであるかを指定します。
  • optional (デフォルト)
  • required
«attributeGroup» クラス     属性グループ
«complexType» クラス anonymous true 最上位の複合型宣言は生成されません。 このクラスへの参照は、属性や要素が無名型である場合の、属性または要素の宣言として生成されます。
false (デフォルト) 複合タイプ
block 型置換をブロックするかどうかを指定します。
  • #all。派生型にこの型を置換させません。
  • extension。この型を拡張させません。
  • restriction。あらゆる制限事項にこの型を置換させません。
  • extension restriction。#all と同様の効果です。
final この型からその他の型を派生させるかどうかを指定します。
  • #all。その他の型にこの型を派生させません。
  • extension
  • restriction
  • extension restriction
modelGroup 型のコンテンツ・モデルを指定します。
  • all、anonymous を false に設定する必要があります。
  • choice
  • sequence
maxOccurs、minOccurs 複合型における、シーケンスおよび選択グループの最大および最小発生可能回数を指定します。

すべてのモデル・グループで、maxOccurs は 1、minOccurs は 0 または 1 にする必要があります。

mixed 複合型が混合コンテンツを許可するかどうかを指定します。
  • false (デフォルト)
  • true
«element» クラスのプロパティー block

派生型の置換をブロックします。インスタンスでは、オリジナルの型のみ使用が許可されます。

  • #all。インスタンスで、オリジナル型の代わりに派生型を使用させません。
  • extension。型の拡張によって型を置換させません。
  • 「extension restriction」または「restriction extension」。#all と同様の効果です。
  • 「 」。空ストリングで、制限事項はありません。スキーマ要素の blockDefault 値をオーバーライドします。
属性
final グローバル要素に適用し、グローバル要素型からその他の型を派生できないことを指定します。
  • #all
  • extension
  • restriction
  • extension restriction
form インスタンス文書で要素名が修飾されるかどうかを指定します。
  • qualified
  • unqualified
  • default。デフォルトで非修飾になるスキーマのステレオタイプの elementFormDefault 値にデフォルト設定されます。
nillable この要素のインスタンスで xsi::nil を使用可能であるかどうかを指定します。この値はデフォルトで false に設定されます。
«enumeration» クラス anonymous
  • true
  • false (デフォルト)
true の場合、列挙型ファセット付きの最上位単純型宣言がスキーマに作成されず、無名型の属性または要素の宣言として、このクラスへの参照が生成されます。
クラスが単純型を示すその他のクラスと汎化関係がある場合、XSD 列挙。
«global» クラス   クラスは 1 つのプロパティーしか持てません。

最上位の要素宣言
プロパティーに <<attribute>> がある場合の属性宣言。
名前および型はプロパティーの名前および型と同じになります。

«listOf» 依存     依存関係のクライアントからの XSD リスト

項目型は、依存関係のサプライヤーになります。

単純型を示す 2 つのクラス間では、このような依存関係は 1 つしか許可されません。

«modelGroup» クラス anonymous true の場合、最上位のグループ宣言はスキーマに生成されず、このクラスへの参照はモデル・グループ参照に変換されます。 グローバルかつ再使用可能な名前付きモデル・グループ。 デフォルトでは、変換によりシーケンス・モデルが作成される

このクラスへの参照はモデル・グループ参照に変換される

modelGroup グループのコンテンツ・モデルを指定
  • all、anonymous を false に設定する必要があります。
  • choice
  • sequence (デフォルト)
«redefine» 汎化     再定義コンポーネントと、オリジナルのスキーマから変更されていないコンポーネントを含む新規スキーマ
«restriction» 汎化     正規表現で指定されるパターンに一致する値の制限を持つスキーマ単純型
«schema» パッケージ attributeFormDefault ローカル属性宣言で修飾名を使用するかどうかを指定します。
  • qualified
  • unqualified (デフォルト)
パッケージと同じ名前を持つ XSD スキーマ
blockDefault 複合型および要素宣言のブロック属性のデフォルト値を指定します。

ブロック属性により、要素の置換または型の置換をブロックするかどうかが決まります。

  • #all
  • スペースで区切られた、1 つ以上の次のキーワードからなるリスト: extension、restriction または substitution
elementFormDefault ローカル要素宣言が修飾名を使用するかどうか指定します。
  • qualified
  • unqualified (デフォルト)
finalDefault 複合型、単純型、および要素宣言の最終属性用のデフォルト値を指定します。

最終属性は、型の派生が行われるかどうかを指定します。

  • #all
targetNamespace targetNamespacePrefix 変換構成に指定された targetNamespace および targetNamespacePrefix 値をオーバーライドします。
«simpleType» クラス anonymous true クラスは無名型と見なされ、最上位型宣言は生成されません。
false クラスが XSD 組み込みデータ型、その他の単純型、または XSD 列挙に対する汎化を持つ場合は、単純型。
final この型からその他の型を派生させるかどうかを指定します。
  • #all。派生は許可されません。
  • extension
  • restriction
  • list
  • union
  • fractionDigits
  • length
  • maxExclusive
  • maxInclusive
  • maxLength
  • minExclusive
  • minInclusive
  • minLength
  • pattern
  • totalDigits
  • whiteSpace
注: ファセット定義の詳細については、XSD ファセットを参照してください。
XSD スキーマが次の指定を定義するファセットを示します。
  • 値の有効範囲
  • 値の制約
  • 値の長さおよび精度
  • 有効な値が準拠する必要のある正規表現
  • 組み込み XSD 型からの制限事項によって派生する、単純型の空白文字の処理
注: リストされたすべてのファセットを、すべての単純型に適用できるわけではありません。詳細は、UML から XSD への変換における単純型および適用可能なファセット を参照してください。
«unionOf» 依存     メンバーとして依存関係のサプライヤーを持つ、依存関係のクライアントから XSD 共用体が生成される

複数の単純型を示すクラスは、単純型を示すさまざまなクラスに対するこのような依存関係を持つことができます。

«wildcard» クラスのプロパティー processContents 属性および要素の置換の検証方法を指定
  • skip。検証なし。
  • lax。検索可能な宣言を持ち、無効な値に関するエラーを生じる属性および要素を検証します。
  • strict、名前空間用のスキーマ文書を探し、属性および要素を検証します (デフォルト)。
要素ワイルドカード

プロパティーが attribute キーワードまたは «attribute» ステレオタイプを持つ場合、属性ワイルドカードも生成されます。

namespace 置換属性や置換要素を含むことができる名前空間を指定します。
  • ##any。すべての名前空間、または名前空間なし。
  • ##other。文書のターゲット名前空間を除くすべての名前空間、またはスキーマ文書にターゲット名前空間がない場合は、すべての名前空間。
  • anyURI
  • ##targetNamespace。スキーマ文書のターゲット名前空間。
  • ##local。名前空間は必須ではありません。
以下のいずれかの項目からなる、スペースで区切られたリスト。
  • ##targetNamespace
  • #local。特定の名前空間。
  • ##local


フィードバック