Ken*_*Ken 5 xsd sequence indicator complextype
我想定义一个包含可能存在或不存在的元素的复杂类型,并且还允许其他未定义的元素,所以我有这样的东西:
<xs:complexType name="MyType">
<xs:sequence>
<xs:element name="A" type="xs:float" minOccurs="0" maxOccurs="1" />
<xs:element name="B" type="xs:float" minOccurs="0" maxOccurs="1" />
<xs:element name="C" type="xs:float" minOccurs="0" maxOccurs="1" />
<xs:any minOccurs="0" processContents="skip"/>
</xs:sequence>
</xs:complexType>
Run Code Online (Sandbox Code Playgroud)
我不想强制使用订单,<xs:sequence>
所以我想更改<xs:sequence>
为<xs:all>
但<xs:any>
不允许.有没有办法实现这个目标?
要允许任何订单,请使用以下命令:
<xs:complexType name="MyType">
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="A" type="xs:float" minOccurs="0" maxOccurs="1" />
<xs:element name="B" type="xs:float" minOccurs="0" maxOccurs="1" />
<xs:element name="C" type="xs:float" minOccurs="0" maxOccurs="1" />
</xs:all>
</xs:complexType>
Run Code Online (Sandbox Code Playgroud)
但是,你不能有一个<any>
inside an <all>
。
您也不能将它们同时包含在一种类型中,无论是直接使用还是作为扩展使用。