XML Schema extension 元素
定义和用法
extension 元素对 simpleType 或 complexType 的元素进行扩展。
元素信息
| 出现次数 | 一次 |
| 父元素 | complexContent |
| 内容 | annotation、attribute、attributeGroup、anyAttribute、choice、all、sequence、group |
语法
<extensionid=IDbase=QNameany attributes>(annotation?,((group|all|choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?)))</extension>
| 属性 | 描述 |
|---|---|
| id | 可选。规定该元素的唯一的 ID。 |
| base | 必需。规定内置数据类型、simpleType 或 complexType 元素的名称。 |
| xml:lang | 可选。规定内容中使用的语言。 |
(? 符号声明在 extension 元素内,该元素只能出现零次或一次,* 符号声明该元素可出现零次或多次。)
实例
例子 1
下面的例子通过添加属性,对一个已有的 simpleType 进行扩展:
<?xml version="1.0"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:simpleType name="size"><xs:restriction base="xs:string"><xs:enumeration value="small" /><xs:enumeration value="medium" /><xs:enumeration value="large" /></xs:restriction></xs:simpleType><xs:complexType name="jeans"><xs:simpleContent><xs:extension base="size"><xs:attribute name="sex"><xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="male" /><xs:enumeration value="female" /></xs:restriction></xs:simpleType></xs:attribute></xs:extension></xs:simpleContent></xs:complexType></xs:schema>
例子 2
下面的例子通过添加三个元素,对一个已有的 complexType 元素进行扩展:
<?xml version="1.0"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="employee" type="fullpersoninfo"/><xs:complexType name="personinfo"><xs:sequence><xs:element name="firstname" type="xs:string"/><xs:element name="lastname" type="xs:string"/></xs:sequence></xs:complexType><xs:complexType name="fullpersoninfo"><xs:complexContent><xs:extension base="personinfo"><xs:sequence><xs:element name="address" type="xs:string"/><xs:element name="city" type="xs:string"/><xs:element name="country" type="xs:string"/></xs:sequence></xs:extension></xs:complexContent></xs:complexType></xs:schema>