2.5.3. 按扩展定义类型
与大多数主要编码语言一样,XML Schema 允许您创建数据类型,从其他数据类型继承其部分元素。这称为扩展来定义类型。例如,您可以创建一个名为 alienInfo 的新类型,通过添加名为 planet 的新元素来扩展 例 2.4 “复杂类型” 中定义的 personalInfo 结构。
由扩展定义的类型有四个部分:
-
类型的名称由
complexType元素的name属性定义。 complexContent元素指定新类型将拥有多个元素。注意如果您只向复杂类型添加新属性,您可以使用
simpleContent元素。-
新类型派生的类型(称为 基本 类型)是在 extension 元素的
base属性中指定。 -
新的类型的元素和属性在
extension元素中定义,它们与常规复杂类型相同。
例如,alienInfo 定义为 例 2.13 “按扩展定义的类型” 所示。
例 2.13. 按扩展定义的类型