2.5.3. 拡張による型の定義
ほとんどの主要なコーディング言語と同様に、XML スキーマを使用すると、他のデータ型から要素の一部を継承するデータ型を作成できます。これは、拡張による型の定義と呼ばれます。たとえば、planet という新しい要素を追加して、例2.4「複合型」 で定義される personalInfo 構造を拡張する、alienInfo という新しい型を作成できます。
拡張によって定義されるタイプには、次の 4 つの部分があります。
-
型の名前は、
complexType要素のname属性によって定義されます。 complexContent要素は、新しい型に複数の要素があることを指定します。注記複合型に新しい属性を追加する場合にのみ、
simpleContent要素を使用できます。-
新しい型が派生される ベース 型と呼ばれる型は、
extension要素のbase属性で指定されます。 -
新しい型の要素と属性は、通常の複合型と同様に
extension要素で定義されます。
たとえば、alienInfo は、例2.13「拡張子で定義されたタイプ」 のように定義されます。
例2.13 拡張子で定義されたタイプ