XML Schema redefine 元素
定義和用法
redefine 元素允許在當(dāng)前 Schema 中重新定義從外部架構(gòu)文件中獲取的簡(jiǎn)單和復(fù)雜類型、組和屬性組。
元素信息
| 出現(xiàn)次數(shù) | 無限制 |
| 父元素 | schema |
| 內(nèi)容 | annotation、attributeGroup、complexType、group、simpleType |
語法
<redefine id=ID schemaLocation=anyURI any attributes > (annotation|(simpleType|complexType|group|attributeGroup))* </redefine>
| 屬性 | 描述 |
|---|---|
| id | 可選。規(guī)定該元素的唯一的 ID。 |
| schemaLocation | 必需。對(duì) schema 文檔位置的 URI 引用。 |
| any attributes | 可選。規(guī)定帶有 non-schema 命名空間的任何其他屬性。 |
實(shí)例
例子 1
下面的例子展示了一個(gè) schema,Myschama2.xsd,其中存在由 Myschama1.xsd 規(guī)定的元素。pname 類型被重新定義。根據(jù)此 schema,被 pname 約束的元素必須以 "country" 元素結(jié)束:
Myschema1.xsd:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType name="pname">
<xs:sequence>
<xs:element name="firstname"/>
<xs:element name="lastname"/>
</xs:sequence>
</xs:complexType>
<xs:element name="customer" type="pname"/>
</xs:schema>
Myschema2.xsd:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:redefine schemaLocation="Myschema1.xsd">
<xs:complexType name="pname">
<xs:complexContent>
<xs:extension base="pname">
<xs:sequence>
<xs:element name="country"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:redefine>
<xs:element name="author" type="pname"/>
</xs:schema>