正如我一直认为的,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>