メッセージ・モデル・オブジェクト: タイプ継承

XML スキーマ言語では、タイプ定義を他のタイプ定義に基づくものにすることができます。 このようにして、タイプの階層が構成されます。 このトピックでは、タイプ継承の概念の概要を示し、置換に関連するいくつかの重要な問題を特筆します。

XML スキーマ・タイプの継承については、 World Wide Web Consortium (W3C) Web サイト、または XML スキーマに関する数多くの資料で説明されています。

制約事項および拡張

派生したタイプのエレメントに関する適正な値 (または適正なタイプ・メンバー) の範囲が基本タイプのエレメントよりも小さい場合、タイプはその基本タイプの制約事項となります。

派生したタイプのエレメントに関する適正な値 (または適正なタイプ・メンバー) の範囲が基本タイプのエレメントよりも大きい場合、 タイプはその基本タイプの拡張となります。

単純タイプの派生には、特別な規則が適用されます。 単純タイプは、他の単純タイプを拡張できません。 これにより、単純タイプから別の単純タイプを派生させることによって、 元の単純タイプによって課された制約事項を取り除くことができないようにします。

ただし、複合タイプが単純タイプを拡張することはできます。 これは単純タイプの適正な値の範囲には影響を与えませんが、 属性を追加することは可能になります。 単純タイプを拡張すると、必ずゼロ個以上の属性を含む複合タイプになります。

タイプ継承の制御

複合タイプの「最終」属性に指定可能な 3 つの値とそれぞれの効果は、 以下のとおりです。

タイプ継承および置換

XML スキーマは、2 つの異なる置換メカニズムを提供します。 それらはいずれもタイプ継承情報を使用して、置換を許可または不許可にします。

エレメント置換は置換グループによって制御され、 エレメント自体またはエレメントのタイプに指定された設定値に応じて、 そのエレメント置換の拡張または制約事項をブロックまたは許可することができます。

タイプ置換は、 エレメントのタイプをエレメント上の xsi:type 属性を使用して、 インスタンス文書内で定義できるようにして、 エレメントを部分的に解析するまでエレメントの実際のタイプが知られないようにします。 このメカニズムも、関係するタイプの派生メソッドに応じてブロックまたは許可することができます。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック
Copyright IBM Corporation 1999, 2006 最終更新: 08/21/2006
ad10430_