XML Schema redefine 元素
定義和用法
redefine 元素允許在當前 Schema 中重新定義從外部架構文件中獲取的簡單和復雜類型、組和屬性組。
元素信息
出現次數 | 無限制 |
父元素 | schema |
內容 | annotation、attributeGroup、complexType、group、simpleType |
語法
<redefine id=ID schemaLocation=anyURI any attributes > (annotation|(simpleType|complexType|group|attributeGroup))* </redefine>
屬性 | 描述 |
---|---|
id | 可選。規(guī)定該元素的唯一的 ID。 |
schemaLocation | 必需。對 schema 文檔位置的 URI 引用。 |
any attributes | 可選。規(guī)定帶有 non-schema 命名空間的任何其他屬性。 |
實例
例子 1
下面的例子展示了一個 schema,Myschama2.xsd,其中存在由 Myschama1.xsd 規(guī)定的元素。pname 類型被重新定義。根據此 schema,被 pname 約束的元素必須以 "country" 元素結束:
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>