5

我想定义一个复杂类型,其中包含可能存在或不存在的元素,并且还允许其他未定义的元素,所以我有这样的东西:

<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>

我不想强制使用订单,<xs:sequence>所以我想将其更改<xs:sequence><xs:all><xs:any>不允许。有没有办法做到这一点?

4

1 回答 1

0

要允许任何订单,请使用以下命令:

<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> 

但是,你不能有一个<any>内部的<all>.
您也不能将它们都放在一种类型中,直接或作为扩展。

于 2010-07-29T21:39:32.933 回答