XML Schema redefine 元素

  • 定义和使用

    redefine 元素从外部模式重新定义简单和复杂的类型,组和属性组。
    父元素:schema
  • 语法

    <redefine
    id=ID
    schemaLocation=anyURI
    any attributes
    >
    
    (annotation|(simpleType|complexType|group|attributeGroup))*
    
    </redefine>
  • 参数

    属性 描述
    id 可选的。 指定元素的唯一ID
    schemaLocation 需要。 指定与公共标识符相对应的URI
    any attributes 可选的。 用非模式命名空间指定任何其他属性。
  • 示例

    下面的示例显示 Myschama2.xsd 模式,其中包含由 Myschama1.xsd 指定的元素。 pname 类型被重新定义。 根据此架构,受 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>