包含<xs:all>和<xs:any>的复杂类型的XML Schema?</xs:any> </xs:all>

时间:2010-07-29 21:27:21

标签: 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>

我不想使用<xs:sequence>强制执行订单,因此我想将<xs:sequence>更改为<xs:all>,但不允许<xs:any>。有没有办法实现这个目标?

1 个答案:

答案 0 :(得分: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> 你也不能将它们放在一种类型中,无论是直接还是作为扩展。