항상 생각했듯이 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>