正如我一直認爲的,xs:restriction
用於限制某個simpleType或complexType,因此名稱restriction
。但下面的xsd代碼片段是正確的。看看Norwegian_customer
,country
用complexType覆蓋,所以它被擴展,不受限制。它被重命名。 xs:restriction
想要提供什麼?是xs:restriction
的超集xs:extension
?該片段在WebStorm
中進行了驗證。爲什麼這個complexType定義正確
<xs:complexType name="customer">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Norwegian_customer">
<xs:complexContent>
<xs:restriction base="customer">
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="country1">
<xs:complexType>
<xs:sequence>
<xs:element name="firstname" type="xs:string"/>
<xs:element name="lastname" type="xs:string"/>
<xs:element name="country" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>