0
我試圖創建一個具有2種地址類型的模式。第一個AdressType
要求元素Line 1
的值至少爲10個字符。第二種類型OtherAdressType
由此得出相同的元素,但不需要Line 1
的值。在擴展複雜類型中更改簡單類型的限制
我已經嘗試了不同的方法,但總是架構錯誤,這個錯誤是:
Invalid particle derivation by restriction - 'Derived element '{namespace}:Line1' is not a valid restriction of base element '{namespace}:Line1' according to Elt:Elt -- NameAndTypeOK.'.
如果我添加一個類型xs:string
到OtherAdressType:Line1
然後我得到其他錯誤。
<xs:complexType name="AdressType">
<xs:sequence>
<xs:element name="Line1" minOccurs="1" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="10" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Line2" type="xs:string" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="OtherAdressType">
<xs:complexContent>
<xs:restriction base="AdressType">
<xs:sequence>
<xs:element name="Line1" nillable="true">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Line2" type="xs:string" minOccurs="1" maxOccurs="1" />
</xs:sequence>
</xs:restriction>
</xs:complexContent>
</xs:complexType>