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