プロファイルで定義される要素

<< 目次を表示 >>

ページ位置:  その他の記法・モデリング > SOAとXML > XMLスキーマ(XSD) > XSDのモデリング > XMLスキーマのためのUMLプロファイル >

プロファイルで定義される要素

XMLスキーマのためのUMLプロファイルでは、ステレオタイプを利用して、UMLの要素とXSDをマッピングしています。タグ付き値には、それぞれのマッピングに対しての補足情報を定義・格納します。制約は、適用するステレオタイプが満たすべき条件を示します。

 

XMLスキーマのためのUMLプロファイルでは以下のステレオタイプを定義しています。

 

 

 

以下の内容は、XMLスキーマのためのUMLプロファイルの具体的な内容です。

 

 

«XSDschema»

UML要素

 

パッケージ

説明

 

パッケージやコンポーネント内の全てのクラスはひとつのスキーマ内で定義されます。

このステレオタイプはスキーマ全体の設定を指定することができます。

ツールボックス

 

タグ付き値

 

 

 

 

 

 

 

 

 

 

 

anonymousRole:

(true | false)

ロール名がUML属性の要素の宣言に含まれるかどうかを指定します。

anonymousType:

(true | false)

クラスの種類が属性に対して無名になるかどうかを指定します。

attributeFormDefault:

(qualified | unqualified)

属性のインスタンスが制限されているかどうかを決定します。

defaultNamespace:

スキーマの既定の名前空間です。

この値は、スキーマ要素で既定の名前空間(xmlns=)を指定するために利用されます。

elementDerivation:

(true | false)

XSD拡張を利用して継承が生成されるか、コピーされるかを決定します。

elementFormDefault:

(qualified | unqualified)

要素のインスタンスが制限されているかどうかを決定します。

memberNames:

(qualified | unqualified)

クラスの属性から生成される要素の名前が一致するクラス名によって制限されているかどうかを決定します。

modelGroup:

(all | sequence | choice)

complexTypeの定義を生成するために使われる既定のXSDモデルグループを指定します。

schemaLocation:

スキーマの位置を指定するURIです。

この値は要素を読み込んで挿入する場合に利用されます。

targetNamespace:

スキーマの名前空間を定義するURIです。

targetNamespacePrefix:

スキーマの名前空間のプレフィックス(接頭辞)です。

version:

スキーマのバージョンです。

xmlns

名前空間の一覧です。カンマ区切りで格納されます。

制約

 

なし

 

«XSDcomplexType»

UML要素

 

クラス

説明

 

complexType定義はUMLのクラスから生成されます。

このステレオタイプはcomplexType定義の生成を変更するために利用されます。

ツールボックス

 

タグ付き値

 

 

memberNames:

(qualified | unqualified)

UMLのクラス属性と関連から生成される要素の名前が、このcomplexType定義によって一致するクラス名に制限されるかを決定します。

mixed:

(true | false)

この要素が複合要素や文字列を含むかどうかを決定します。

詳細についてはW3C XML Schemaをご覧ください。

modelGroup:

(all | sequence | choice)

このcomplexType定義を生成するときに、既定のXSDモデルを上書きします。

制約

 

なし

 

«XSDsimpleType»

UML要素

 

クラス

説明

 

XSDのsimpleTypeはステレオタイプ付きのクラスから生成されます。

ツールボックス

 

タグ付き値

 

 

 

 

 

 

 

 

 

 

 

derivation:

(restriction | list)

simpleTypeの派生を指定します。

詳細についてはW3C XML Schemaをご覧ください。

length:

詳細についてはW3C XML Schemaをご覧ください。

minLength:

maxLength:

minInclusive:

minExclusive:

maxInclusive:

maxExclusive:

totalDigits:

fractionDigits:

whiteSpace:

pattern:

制約

 

このクラスは別のsimpleTypeとの継承とあわせて利用されます。属性やその他の関連を持つことはありません。存在した場合には、無視されます。

 

«XSDsequence»

UML要素

 

クラス

説明

 

スキーマ生成時には、このクラスが持つ属性や関連に対して順序のあるモデルグループが生成されます。

逆に、モデルグループは、このクラスのそれぞれの所有者のモデルグループに追加されます。

 

注意:

所有者によって指定されたこのクラスのタグ付き値は、このモデルグループの子要素に対しても反映されます。

よって、complexTypeに対してmemberNamesが制限されていない場合には、complexTypeが追加された場合にはこのモデルグループの子要素にも適用されます。

ツールボックス

 

タグ付き値

 

なし

制約

 

このクラスは単一方向の関連の先(ターゲット)に位置しなければなりません。そうでない場合には、このクラスとクラスの接続は無視されます。

また、他のモデルグループのクラスを無効にする場合もあります。このクラスでは、継承の関係は無視されます。

 

«XSDchoice»

UML要素

 

クラス

説明

 

XSD choice要素を生成します。

詳細については、XSDsequenceをご覧ください。

ツールボックス

 

タグ付き値

 

なし

制約

 

XSDsequenceをご覧ください。

 

«XSDelement»

UML要素

 

属性および関連の端

説明

 

このステレオタイプをUMLのクラスの属性や関連端に適用することによって、一致するUMLのエンティティは、XSDの属性としてではなく親のcomplexTypeに含まれる要素として生成されます。

ツールボックス

 

タグ付き値

 

 

 

form:

(qualified | unqualified)

スキーマのelementFormDefaultの値を上書きします。

position:

順序の合うモデルグループにおいて含まれるcomplexTypeで、要素が並べられます。

タグ付き値が複数ある場合や不正な位置指定の場合には無視されます。positionの値が不足している場合には、まず指定されているものが定義済みの位置に配置され、残された要素は未定義の順序でかけている位置に配置されます。

anonymousRole:

(true | false)

ロール名がUML属性の要素の宣言に含まれるかどうかを指定します。

anonymousType:

(true | false)

クラスの種類がUML属性の要素の宣言に含まれるかどうかを指定します。

制約

 

なし

 

«XSDattribute»

UML要素

 

属性および関連の端

説明

 

このステレオタイプをUMLのクラス属性や関連端に適用することによって、一致するUMLエンティティがXSD要素ではなく、XSD属性として生成されます。

ツールボックス

 

タグ付き値

 

 

 

form:

(qualified | unqualified)

スキーマのattributeFormDefaultの値を上書きします。

use:

(prohibited | optional | required)

 

詳細についてはW3C XML Schemaをご覧ください。

default

fixed

制約

 

この属性のデータ型はクラスの定義で参照されないようにすべきです。そうでない場合には、無視されます。

 

«XSDany»

UML要素

 

クラスと属性

説明

 

UML属性に対して適用された場合、XSD anyAttribute要素が生成されます。

UMLクラスに対して適用された場合には、XSDの要素が生成されます。

ツールボックス

 

タグ付き値

 

namespace:

 

詳細についてはW3C XML Schemaをご覧ください。

processContents:

(skip | lax | strict)

制約

 

なし

 

«XSDrestriction»

UML要素

 

汎化

説明

 

継承と子要素の生成のためにcomplexTypeとして既定のXSD拡張を上書きします。

タグ付き値

 

なし

制約

 

UMLのクラスにおける親子関係にのみ適用することができます。

 

«XSDgroup»

UML要素

 

クラス

説明

 

XSDgroupは子のステレオタイプを持つクラスから生成されます。

ツールボックス

 

タグ付き値

modelGroup:

(sequence | choice | all)

定義の既定のXSDの出力方法を上書きします。

制約

 

groupクラスは他のgroupクラスとのみ関連を持つことができます。

XSDGroupは別のXSDGroupあるいはcomplexTypeから関連を持たれることがあります。

associationは関連の接続で表現します。

XSDGroupは汎化や集約の関係を持てません。

 

«XSDtopLevelElement»

UML要素

 

クラス

説明

 

作成された<xs:element>は、XSDcomplexTypeとXSDsimpleTypeクラスのコンテナとして振る舞います。

ツールボックス

 

タグ付き値

 

default

なし

fixed

制約

 

XSDtopLevelElementは子クラスとしてXSDsimpleTypeかXSDcomplexTypeを持つことができます。

これらのクラスが子クラスになっている場合、すべての継承は無視されます。このクラスは継承できません。

 

«XSDtopLevelAttribute»

UML要素

 

クラス

説明

 

XSDsimpleTypeクラスを格納するための<xs:attributr>構造体を作成します。

ツールボックス

 

タグ付き値

use:

(optional | required | prohibited)

詳細についてはW3C XML Schemaをご覧ください。

制約

 

An XSDtopLevelAttributeは子クラスとしてXSDsimpleTypeクラスのみを持つことができます。

このクラスが子クラスとして存在する場合、継承は無視されます。このクラスは一つのXSDsimpleTypeクラスからのみ継承できます。

 

«XSDunion»

UML要素

 

クラス

説明

 

XSDsimpleTypeクラスを格納するための<xs:union>構造体を作成します。

ツールボックス

 

タグ付き値

 

なし

制約

 

XSDunionクラスは、子クラスとしてXSDsimpleTypeのみを持つことができます。

XSDsimpleTypeクラスから汎化できます。このクラスが汎化する全てのクラスはメンバーとして属性"memberTypes"を持ちます。このクラスは属性や関連を持つことはできません。

 

«XSDattributeGroup»

UML要素

 

クラス

説明

 

XSDattributeを格納するための<xsattributeGroup>構造体を作成します。

ツールボックス

 

タグ付き値

 

なし

制約

 

XSDattributeGroupクラスはXSDattributeのみを子クラスとして持つことができます。別のXSDattributeGroupクラスからのみ関連を受けることができます。

XSDcomplexTypeクラスのみがこのクラスと関係を持つことができます。

このクラスは継承することはできません。

 

 

参照: